gpt4 book ai didi

python - 从python字符串中提取字母数字子字符串

转载 作者:行者123 更新时间:2023-11-30 23:23:02 27 4
gpt4 key购买 nike

我有一个Python字符串

text = '(b)'

我想提取“b”。我可以删除字符串的第一个和最后一个字母,但我不会这样做的原因是因为文本字符串可能包含“(a)”、(iii)、“i)”、“(1”或“(2)” '。有时它们根本不包含括号。但它们始终包含字母数字值。但我同样想检索那里的字母数字值。

这一壮举必须在一行代码或仅返回值的代码块中完成,因为它将在多种情况下迭代使用

在 python 中做到这一点的最佳方法是什么,

最佳答案

我认为这里不需要正则表达式。您可以使用 str.strip 去掉任何括号。 :

>>> text = '(b)'
>>> text.strip('()')
'b'
>>> text = '(iii)'
>>> text.strip('()')
'iii'
>>> text = 'i)'
>>> text.strip('()')
'i'
>>> text = '(1'
>>> text.strip('()')
'1'
>>> text = '(2)'
>>> text.strip('()')
'2'
>>> text = 'a'
>>> text.strip('()')
'a'
>>>
<小时/>

关于 @MikeMcKerns 的评论,更可靠的解决方案是传递 string.punctuationstr.strip:

>>> from string import punctuation
>>> punctuation # Just to demonstrate
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>>
>>> text = '*(ab2**)'
>>> text.strip(punctuation)
'ab2'
>>>

关于python - 从python字符串中提取字母数字子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24174799/

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