我有很多类似这样的字符串:“一个名称/另一个名称/其他名称”。
我要说的是:“一个名字/另一个名字/其他”。
基本上仅删除正斜杠前后的空格(而不是单词本身之间的空格)。
我对编程一无所知,但是我发现并发现可以使用Python和Regex来完成。尽管我发现的信息量让我有些不知所措。
答案 0 :(得分:1)
您可以使用以下模式:
(?:(?<=\/) | (?=\/))
(?:
非捕获组。(?<=\/)
落后于/
。|
或(?=\/)
正向/
前进。)
关闭非捕获组。您可以在线体验here。
Python代码段:
import re
str = 'a name / another name / something else'
print(re.sub(r'(?:(?<=\/) | (?=\/))','',str))
打印:
a name/another name/something else
答案 1 :(得分:1)
这是一个不用正则表达式的答案,我觉得它更容易理解
string = "a name / another name / something else"
edited = "/".join([a.strip() for a in string.split("/")])
print(edited)
输出:
a name/another name/something else
.join()
通过给定的分隔符docs
.strip()
删除开头和结尾的空格docs
.split()
按字符docs
答案 2 :(得分:1)
这里不需要正则表达式,因为您只需替换一串文字即可。
getsizeof
答案 3 :(得分:0)
此模式将与/
周围的任意空格匹配,并将其删除。我认为regex相对容易理解
\s*([\/])\s*
具有一个与反斜杠匹配的捕获组(这就是中间部分)。 s*
部分与空格匹配(至少一个,最多不限次数)。
然后可以将这些匹配的字符串替换为/
,以摆脱所有空白。
答案 4 :(得分:0)
str1
是您的字符串:
re.sub(" / ", "/" ,str1)
答案 5 :(得分:0)
使用以下代码删除/
字符之前和之后的所有空格:
import re
str = 'a name / another name / something else'
str = re.sub(r'(?:(?<=\/)\s*|\s*(?=\/))','', str)
检查this document以获得更多信息。