[英]Strip the last occurrence of numbers inside braces from a string
如果给定字符串中只有数字/数字,我想知道如何去除 ( ) 的最后一次出现及其内容。
下面的代码去除了字符串中的所有 ( )。
import regex
s1 = "( 2,2,2) (GREATER) MINDS LIMITED ( 23 )"
s2 = "( 2,2,2) (GREATER) MINDS LIMITED ( closed )"
res = regex.sub(r'\s*(\((?>[^()]+|(?1))*\))$', '', s1)
res = regex.sub(r'\s*(\((?>[^()]+|(?1))*\))$', '', s2)
print(res)
这将删除字符串内的内容,但我只想删除字符串最后出现的 () 内的数字或数字
output:
s1 = "( 2,2,2) (GREATER) MINDS LIMITED ( 23 )"
s2 = "( 2,2,2) (GREATER) MINDS LIMITED ( closed )"
您可以将re.sub
与否定前瞻断言一起使用,该断言排除了在最后一场比赛之后出现的任何其他术语(...)
。
s1 = "( 2,2,2) (GREATER) MINDS LIMITED ( 23 )"
s2 = "( 2,2,2) (GREATER) MINDS LIMITED ( closed )"
out1 = re.sub(r'\(\s*\d+\s*\)(?!.*\([^)]*\))', '', s1)
out2 = re.sub(r'\(\s*\d+\s*\)(?!.*\([^)]*\))', '', s2)
print(out1)
print(out2)
这打印:
( 2,2,2) (GREATER) MINDS LIMITED
( 2,2,2) (GREATER) MINDS LIMITED ( closed )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.