我只想在该字符前后有空格的情况下才拆分字符串。在我的情况下,字符是破折号,即'-'
示例
Opzione - AAAA-11
应分为
Opzione AAAA-11
而不是
Opzione AAAA 11
语言是python。
谢谢
答案 0 :(得分:1)
您可以使用正则表达式来做到这一点,但是使用split()
和join()
来使用非正则表达式怎么办
str = 'Opzione - AAAA-11';
df = ' '.join(str.split(' - '))
print(df)
答案 1 :(得分:1)
您可以使用环视
(?<=\s)-(?=\s)
(?<=\s)
->向后看。检查前面的空间的条件。-
->匹配-
。(?=\s)
->正向超前匹配以下空格 旁注-\s
将与\r
,\t
和\n
匹配,如果您只想考虑空间,则可以拥有像这样
(?<= )-(?= )
答案 2 :(得分:0)
str="Opzione - AAAA-11"
str=re.sub('(\s([\S])\s[\S]?)','',str)
此(\s([\S])\s[\S]?)
表示两个空格之间除空格以外的所有内容,然后等于或不包括空格的任何其他内容,这样您就可以像g h h g
一样进行匹配。
因此,两个h
都在两个空格之间,但是当您仅与\s([\S])\s
匹配时,另一个h
不会匹配,但(\s([\S])\s[\S]?)
都将匹配。