簡體   English   中英

在數字前后添加空格(正則表達式)

[英]Adding spaces before and after a number (Regex)

我被卡住了,這就是我向你尋求幫助的原因。
如果有,我需要在數字前后的字符串中添加一個空格
前面沒有數字,后面也沒有數字,前后沒有空格。
這在示例中最為明顯。

字符串Adam20 Margaret30Tom 20 測試
預期結果亞當 20 瑪格麗特 30 湯姆 20 測試

我找到了這個部分解決方案,但我無法修改它,正則表達式是我的弱點。

import re
line = "Adam20 Margaret30Tom 20 test"
x=re.sub(r'(?<=[0-9])(?=[^\s])', r' ', line)
print(x)
>> Adam2 0 Margaret3 0 Tom 2 0 test*<br/>

感謝幫助。

使用捕獲組,並在替換中引用它:

>>> line = "Adam20 Margaret30Tom 20 test"
>>> import re
>>> re.sub(r' ?(\d+) ?', r' \1 ', line)
'Adam 20 Margaret 30 Tom 20 test'

說明: ? 匹配 0 或 1 個空格, (\\d+)匹配 1 個或多個數字並將它們捕獲到組 1,而\\1 1 在替換中使用組 1 的匹配內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM