gpt4 book ai didi

python - 从字符串中获取多个标记的更好方法? (Python 2)

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

如果我有一个字符串:

“敏捷的棕色狐狸跳过了懒狗!”

我经常使用 split() 函数来标记字符串。

testString = "The quick brown fox jumps over the lazy dog!"
testTokens = testString.split(" ")

这会给我一个列表:

['The', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog!']

如果我想删除第一个标记并保持其余标记完好无损,我将执行以下操作以使其成为单行:

newString = " ".join(testTokens.split(' ')[1:]) # "quick brown fox jumps over the lazy dog!"

或者,如果我想要某个范围:

newString = " ".join(testTokens.split(' ')[2:4]) # "brown fox"
newString = " ".join(testTokens.split(' ')[:3]) # "The quick brown"

当然,我可能想分割空格以外的其他东西:

testString = "So.long.and.thanks.for.all.the.fish!"
testTokens = testString.split('.')

newString = ".".join(testTokens.split('.')[3:]) # "thanks.for.all.the.fish!"

这是实现这一目标的最佳方法吗?或者有更有效或更易读的方法吗?

最佳答案

请注意split可以采用可选的第二个参数,表示应进行的最大分割数:

>>> testString.split(' ', 1)[1]
'quick brown fox jumps over the lazy dog!'

只要可以应用,这都比 "".join(testTokens.split(' ')[1:]) 好得多。

感谢 @abarnert 指出,如果没有空格,.split(' ', 1)[1] 会引发异常。请参阅partition如果这造成了问题。

<小时/>

此外,还有一个rsplit方法,因此您可以使用:

>>> testString.rsplit(' ', 6)[0]
'The quick brown'

而不是"".join(testTokens.split(' ')[:3])

关于python - 从字符串中获取多个标记的更好方法? (Python 2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17286657/

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