【问题标题】:Trying to remove 2 substrings from a string [duplicate]尝试从字符串中删除 2 个子字符串 [重复]
【发布时间】:2020-08-17 14:16:35
【问题描述】:

我正在尝试找到一个正则表达式,它会在以下条件下从给定字符串中删除 2 个子字符串:

  1. 第一个子字符串总是 -m
  2. 第二个子字符串将紧随其后并以空格结尾

例如,在这个字符串中-

bla blaaa ballla -m /gkdfs/dfsd/sdf bllaggw

预期的结果应该是

bla blaaa ballla bllaggw

我尝试了以下正则表达式 - -m (.*)

但它会选择 -m 之后的所有字符串,并且不会在第一个空格处停止。

我将非常感谢您的帮助/想法

提前谢谢大家!

【问题讨论】:

  • 使用这个:-m \S*
  • \s 匹配空格,\S 匹配其他所有内容:-m\s*\S*

标签: python regex string


【解决方案1】:

这很适合你:

import re

regex = r"-m\s\S*"

test_str = "bla blaaa ballla -m /gkdfs/dfsd/sdf bllaggw"

subst = ""

# You can manually specify the number of replacements by changing the 4th argument
result = re.sub(regex, subst, test_str, 0, re.MULTILINE)

if result:
    print (result)

输出:

bla blaaa ballla bllaggw

测试代码here

测试正则表达式here

【讨论】:

    猜你喜欢
    • 2018-02-20
    • 1970-01-01
    • 2020-11-12
    • 2018-04-01
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    相关资源
    最近更新 更多