查找并将字符串中的单词移到句末。Python3.x

2024-10-02 10:24:24 发布

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

输入:'blah move\u me2,nah'

输出:'废话,不移动\u me2'

当前代码:

raw = 'blah move_me2 , nah '
word = 'move_me'
start_idx = raw.index('move_me')
end_idx = ed_idx + len(word) + 1
raw = raw + ' ' + raw[start_idx:end_idx]
raw = raw.replace(raw[start_idx:end_idx], '', 1)
print(raw)

需要帮助:是否有可能使它更高效,并且可能使用regex?你知道吗

注意:“move\u me”单词结尾可能没有额外的特许,在本例中为“2”


Tags: 代码indexrawmovelenstartwordend
3条回答

这段代码很有效,我不知道它是否符合您的愿望,因为它只是使用普通的python字符串操作符而不是regex。您可以找到并替换一个字符串,然后追加它。目前还没有检查字符串是否处于原始状态。也许你应该先证明一下。你知道吗

raw = 'blah move_me2 , nah '
word = 'move_me'
a = raw.replace(word, "") + str(word)
print(a)

输出:

blah 2 , nah move_me

您可以使用're'模块来获取所需的字符串。你知道吗

import re

raw = 'blah move_me2 , nah '
word = 'move_me'
find_str = re.search(r'(%s[^\s]+)' % word, raw)
if find_str:
    new_str = raw[find_str.span()[0]:find_str.span()[1]:]
    renew_str = raw.replace(new_str, '')
    renew_str += new_str
    print(renew_str)

输出:

blah  , nah move_me2

如果我了解您想要什么,以下代码可能会帮助您:

raw_input = 'blah move_me2 , nah ' 
word = 'move_me'
pos_start = raw_input.find(word)
raw_output = raw_input[:pos_start] + raw_input[pos_start+len(word):] + word
print(raw_output)

find函数是查找字符串中某物的位置的好方法(它返回单词/句子的起始位置)。你知道吗

如果你想的话,我做了一个简短的版本:

raw_input,word = 'blah move_me2 , nah ','move_me'
raw_output = raw_input[:raw_input.find(word)] + raw_input[raw_input.find(word)+len(word):] + word
print(raw_output)

相关问题 更多 >

    热门问题