删除字符串的某个部分?

2024-05-19 10:29:48 发布

您现在位置:Python中文网/ 问答频道 /正文

不知道怎么做。我有一根绳子,我需要把它的第一部分去掉。打印时(结果.text)运行它打印“@PERSONSTWITTER他们的消息”我需要删除第一部分“@PERSONSTWITTER”。你知道吗

起初我让它把@上的东西都去掉了。我遇到了一个问题,第一个问题是用户名可以是任意数量的字母。(@PERSONSTWITTER2,@PERSONSTWITTER12等)它们的字符数不同。现在我不知道该怎么办。任何帮助都太好了!你知道吗

所以我只需要隔离“他们的信息”而不是用户名。你知道吗

for s in twt:
    sn = s.user.screen_name
    m = "@%s MESSAGE" % (sn)
    s = api.update_status(m, s.id)
    #time.sleep(5)

for result in twt:
    print(result.text)

Tags: textin消息for数量字母result字符
3条回答

您可以使用^{}筛选以@开头的单词,如下所示:

>>> s = "@PERSONSTWITTER their message. @ANOTHERWRITER their another message."

>>> ' '.join(word for word in s.split() if not word.startswith('@'))
'their message. their another message.'

在这里,我首先把你的句子分成几个单词,过滤掉不以@开头的单词,然后再重新连接起来。你知道吗

使用.split()方法将string转换为liststrings,该list由在spaces处分割原始数据形成。你知道吗

然后使用.join方法将列表中wards上的索引1中的所有元素连接在一起,再次用空格隔开。你知道吗

s = "@PERSONSTWITTER their message"
' '.join(s.split()[1:])
# --> 'their message'

另一种方法是只index第一个space然后再切片:

s = "@PERSONSTWITTER their message"
s[s.index(' ')+1:]
# --> 'their message'

请注意,我们必须将1添加到索引中,因为strings是基于零的

可以使用正则表达式:

import re
s = "@PERSONSTWITTER their message" 
new_s = re.sub('^\S+', '', s)[1:]

输出:

'their message'

相关问题 更多 >

    热门问题