gpt4 book ai didi

python - 如何在 python 中将字符串拆分为多个部分?

转载 作者:行者123 更新时间:2023-11-28 19:35:34 28 4
gpt4 key购买 nike

我在按列出的顺序、姓名和考试分数拆分我的名字时遇到问题。

我在我的代码中执行了以下操作:print repr(names) 循环获取以下 6 行数据

'1 Name 559/1 '
'2 Name 484/1 '
'3 Name N'ame 444/2 '
'4 Name 400/1 '
'5 Name Name 928/5 '
'6 Name Name-Name 1292/10 '

我希望能够将它们分开,但我收到一条错误消息:AttributeError: 'str' object has no attribute 'lsplit'

我尝试过使用 lsplit、rsplit 和 split,但我无法让它工作...

最终结果名称将变成 3 个变量:names_indexnamenames_score

有人知道我怎样才能做到这一点吗?

谢谢 - Hyflex

编辑

for item in listitems:
if item.find("strong"):
names = str(item.text)
names = items .split("\n")
for name in names:
clean_name = name.lstrip(" ")
print repr(clean_name)
student_number = clean_name.lsplit(" ", 1)
student_score = clean_name.rsplit(" ", 1)
#student_name = clean_name.lsplit(" ", 1) # Unsure how to get the last part..

最佳答案

没有 str.lsplit 因为 str.split 已经从左边开始了。

对于每个字符串,只需调用 .split(),您将得到一个包含 [names_index, name, names_score] 的列表

如果模式是number/words/more numbers,那么你可以使用正则表达式:

>>> import re
>>> filter(None, re.split(r'(\d+) (\w.*) (\d.*)', '1 Name 559/1 '))
['1', 'Name', '559/1 ']
>>> filter(None, re.split(r'(\d+) (\w.*) (\d.*)', '6 Name Name-Name 1292/10 '))
['6', 'Name Name-Name', '1292/10 ']

关于python - 如何在 python 中将字符串拆分为多个部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19017917/

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