[英]How to remove only the spaces that occur after a digit, and before a letter with RegEx?
[英]regex - split on a character only if there are spaces before and after
我只想在該字符前后有空格的情況下才拆分字符串。 在我的情況下,字符是破折號,即“-”
例
Opzione - AAAA-11
應該分成
Opzione AAAA-11
而不是
Opzione AAAA 11
語言是python。
謝謝
您可以使用正則表達式來實現,但是使用split()
和join()
來實現非正則表達式
str = 'Opzione - AAAA-11';
df = ' '.join(str.split(' - '))
print(df)
您可以使用環視
(?<=\s)-(?=\s)
(?<=\\s)
->向后看。 檢查前面的空間的條件。 -
- >匹配-
。 (?=\\s)
->正向超前匹配以下空格 附帶說明 - \\s
也將匹配\\r
, \\t
和\\n
如果您只想考慮空間,可以這樣
(?<= )-(?= )
str="Opzione - AAAA-11"
str=re.sub('(\s([\S])\s[\S]?)','',str)
這個(\\s([\\S])\\s[\\S]?)
表示兩個空格之間除了空格以外的任何東西,然后等於或不等於空格的任何東西,這樣您就可以像ghhg
一樣進行匹配。
因此,兩個h
都在兩個空格之間,但是當您僅與\\s([\\S])\\s
匹配時,另一個h
不會,而是由(\\s([\\S])\\s[\\S]?)
都匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.