删除字符串的某个部分?

时间:2018-01-13 19:55:45

标签: python python-2.7

不知道该怎么做。我有一个字符串,我需要它的第一部分。当print(result.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)

4 个答案:

答案 0 :(得分:1)

您可以使用string.startswith过滤以@开头的字词:

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

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

我首先将您的句子分成单词,过滤不以@开头的单词,然后重新加入。

答案 1 :(得分:1)

您可以使用正则表达式:

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

输出:

'their message'

答案 2 :(得分:0)

使用.split()方法将string转换为list strings spaces形成的.join分割原文(默认情况下)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

请注意,我们必须将OnClick添加到索引中,因为click从零开始

答案 3 :(得分:0)

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