如何查找包含特定其他字符串的字符串?

时间:2019-06-13 22:54:18

标签: python string

我的作业有问题,这让我感到困惑,这是问题所在:

因此,输入是一个字符串,它是一个线性方程式,例如“ A + B = C”。 但由于某种原因,我们不清楚A,B或C之一,因此我们看不到它。

例如:

"1# + 24  = 34" or "5131 + #251 = 76382"

请注意:它可能发生在等式的一部分; A,B或C!并且“#”可以是多个数字!

(((( if input is = "10# + 50 = 10052" , output shoul be "10002 + 50 = 10052"))))

这是一个问题!如何突出显示或选择包含“#”的此字符串的一部分?

我试图在RegExr中搜索,但找不到符合我情况的模式!

2 个答案:

答案 0 :(得分:0)

这将检索字符串中包含#:
的部分 import re textExample = "5131 + #251 = 76382" re.findall(r'[^ ]*#[^ ]*',textExample)

答案 1 :(得分:0)

如果表达式不能始终用空格分隔运算符和数字,则应在井号附近搜索前一个或后一个数字:

import re
equation = "5131 + #251 = 76382"
r = re.findall(r"((?<=\d)#|#(?=\d))",equation)

如果您只打算用一些数字代替井号,则无需查找/突出显示它。只需使用内置的字符串替换功能

equality = equation.replace("#","71") #==> '5131 + 71251 = 76382'