python - 如何替换子字符串,但前提是它恰好出现在两个单词之间

标签 python regex substring

在 python 中,我需要将 "- " 替换为 "-" ,但前提是 [SPACE][DASH][SPACE] 出现在两个单词之间。

[SPACE][SPACE][DASH][SPACE][SPACE] 不会更改。即:

"- 快速 - 棕色狐狸跳跃 - 越过 -" 必须更改为

"- 快速棕色狐狸跳过 -"

这是跳转[SPACE][SPACE][DASH][SPACE][SPACE] ...

我无法理解正则表达式。

最佳答案

您可以使用此正则表达式进行单词边界搜索:

\b - \b

RegEx Demo

由于两侧有单词边界,只有当两侧都有单词字符包围空格时才会匹配。

代码:

import re

test_str = " - The quick - brown fox jumps  -  over the -"


# You can manually specify the number of replacements by changing the 4th argument
result = re.sub(r"\b - \b", '-', test_str)

if result:
    print (result)

关于python - 如何替换子字符串,但前提是它恰好出现在两个单词之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56684715/

相关文章:

python - 通过 lxml.etree.iterparse 解析单个文件中的多个 XML 声明

regex - PostgreSQL - 使用 regexp_split_to_table 将单词 (len>1) 拆分为行

python - 正则表达式帮助将列表拆分为二元组

c++ - C++ 中子字符串方法的问题

PHP 获取 python 进程并杀死它。 Xampp/Windows

python - 如何将日期数组传递给 pcolor 图?

python - 无法使用 Fiftyone 加载 "open-images-v6"的子部分

c++ - 如何实现正则表达式

mysql - 删除日期时间字段中的毫秒数

javascript:按字符串中给定域(子字符串)查找完整 URL 的最快方法