[英]How to remove only the spaces that occur after a digit, and before a letter with RegEx?
[英]Remove spaces from string after and before letter
我有很多类似的字符串:“一个名称/另一个名称/其他名称”。
我要说的是:“一个名字/另一个名字/其他”。
基本上只删除正斜杠前后的空格(而不是单词本身之间的空格)。
我对编程一无所知,但我发现并发现可以使用Python和Regex完成。 尽管我发现的信息量让我有些不知所措。
您可以使用以下模式:
(?:(?<=\/) | (?=\/))
(?:
非捕获组。 (?<=\\/)
在/
。 |
要么 (?=\\/)
正向/
向前看。 )
关闭非捕获组。 您可以在这里试用。
Python片段:
import re
str = 'a name / another name / something else'
print(re.sub(r'(?:(?<=\/) | (?=\/))','',str))
打印:
a name/another name/something else
这里不需要正则表达式,因为您只需要替换字符串即可。
str = "a name / another name / something else"
print(str.replace(" / ", "/"))
此模式将匹配/
周围的任意数量的空格并将其删除。 我认为正则表达式相对容易理解
\s*([\/])\s*
有一个与反斜杠匹配的捕获组(这就是中间部分)。 s*
部分与空格匹配(至少一个,最多不限次数)。
然后,您可以仅用/
替换这些匹配的字符串,以消除所有空白。
str1
是您的字符串:
re.sub(" / ", "/" ,str1)
使用以下代码删除/
字符之前和之后的所有空格:
import re
str = 'a name / another name / something else'
str = re.sub(r'(?:(?<=\/)\s*|\s*(?=\/))','', str)
查看此文档以获取更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.