我的作业有问题,这让我感到困惑,这是问题所在:
因此,输入是一个字符串,它是一个线性方程式,例如“ 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中搜索,但找不到符合我情况的模式!
答案 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'