作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这样一句话: transportumum min kalo dari kota|tua | mau ke galeri nasional naik transjakarta jurusan apa ya?
正如您所看到的,该句子中有两个管道字符,如果管道位于单词中间没有空格,我喜欢在管道之前和之后添加空格。例如:kota|tua
至kota | tua
这是我到目前为止的代码:
def puncNorm(text):
pat = re.compile(r"\D([|:])\D")
text = pat.sub(" \\1 ", text)
return text
text = "transportumum min kalo dari kota|tua | mau ke galeri nasional naik transjakarta jurusan apa ya?"
text = puncNorm(text)
结果为每个管道字符添加了空格。所以tua | mau
中有双倍空格:
transportumum min kalo dari kota | tua | mau ke galeri nasional naik transjakarta jurusan apa ya?
我的预期结果是:
transportumum min kalo dari kota | tua | mau ke galeri nasional naik transjakarta jurusan apa ya?
解决这个问题的最佳方法是什么?
最佳答案
\D
模式匹配除数字之外的任何字符。您可以在此处使用单词边界来使符号仅在单词内部匹配:
r'\b([|:])\b'
请参阅regex demo
请注意,您也可以删除 (...)
因为您需要更换整个比赛。整个比赛的反向引用是 \g<0>
在Python中。
查看Python demo :
import re
rx = r'\b[|:]\b'
s = "transportumum min kalo dari kota|tua | mau ke galeri nasional naik transjakarta jurusan apa ya?"
print(re.sub(rx, ' \g<0> ', s))
# => transportumum min kalo dari kota | tua | mau ke galeri nasional naik transjakarta jurusan apa ya?
关于python - 如何在Python中使用正则表达式在特定字符之前和之后添加空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45750505/
我是一名优秀的程序员,十分优秀!