[英]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.