我有很多看起来像这样的字符串:“一个名字/另一个名字/别的东西”。
我想解决这个问题:“一个名字/另一个名字/别的东西”。
基本上只删除正斜杠前后的空格(而不是单词本身之间)。
我对编程一无所知,但我看了看,发现这可以用 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(" / ", "/"))
str1成为你的字符串:
re.sub(" / ", "/" ,str1)
使用以下代码删除字符前后的所有空格/:
import re
str = 'a name / another name / something else'
str = re.sub(r'(?:(?<=\/)\s*|\s*(?=\/))','', str)
查看此文档以获取更多信息。
此模式将匹配任何数量的空白周围/并将其删除。我认为正则表达式比较容易理解
\s*([\/])\s*
有一个与反斜杠匹配的捕获组(这就是中间部分)。这些s*部分匹配空格(至少一个到任意次数)。
然后,您可以只用 a 替换这些匹配的字符串以/消除所有空格。