我感觉很傻,但我对python完全不熟悉,我有一个任务用NULL替换下面的字符串模式。
字符串类型" xyz.xyz(1,2,3)"应替换为" NULL" (两种情况下都不是双引号)。
类似的东西 - String s =" abc xyz.xyz(1,2,3)pqr"应该成为 s =" abc NULL pqr"
s可以包含xyz.xyz(10,20,30)或xyz.xyz(1)..即括号内可以出现任何内容。
答案 0 :(得分:0)
你需要正则表达式:
import re
s = 'abc xyz.xyz(1, 2, 3) pqr'
re.sub(r'[a-z]{3}\.{[a-z]{3}\([^)]*\)', 'NULL', s)
说明:
[a-z]{3}
代表3个小写字母(小写)\.
逃脱点,因为它是特殊字符[a-z]{3}
再次发出3封小写字母\(
转义左括号[^)]*
任何字符,但右括号,0或更多时间\)
转义右括号