gpt4 book ai didi

python - 从字符串中去除大括号内最后一次出现的数字

转载 作者:行者123 更新时间:2023-12-04 09:43:53 28 4
gpt4 key购买 nike

如果给定字符串中只有数字/数字,我想知道如何去除 ( ) 的最后一次出现及其内容。

下面的代码去除字符串中的所有 ( )。

 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)

这将删除字符串内的内容,但我只想删除出现在字符串最后的 ( ) 内的数字或数字

输出:
 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 )

关于python - 从字符串中去除大括号内最后一次出现的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62208599/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com