交换单词但保留两个字符串之间的其他字符

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (7)

说我接了一句话,换掉了一些话。我从输入句开始:

sentence = Wow, it felt so nice outside today!

然后我对它进行了标记并换掉了一些单词。我留下了一个新单词列表,如:

['Hey', 'I', 'felt', 'somewhat', 'dreary', 'inside', 'today']

我想将这个单词列表转换回原始格式,保留空格和特殊字符,最后得到一个字符串,如:

Hey, I felt somewhat dreary inside today!

第一个句子可以在单词之间包含任何类型的空格或特殊字符。有没有一种简单的方法可以在算法上做到这一点,希望无需逐个字符地逐字符串地迭代?我正在使用Python。

请注意,重构的句子必须保留中间空格和标点符号,因此我不能只使用join()函数。

提问于
用户回答回答于
import re
sentence = "Wow, it felt so nice outside today!"
new_word=re.findall(r"[\w']+|[.,!?; ]",sentence)

在订单处更换。

 new_words=['Hey', ',', ' ', 'I', ' ', 'felt', ' ', 'somewhat', ' ', 'dreary', ' ', 'inside', ' ', 'today', '!']

如果您已经对此订单进行了排序,那么您可以使用它。

 print("".join(new_words))

扫码关注云+社区

领取腾讯云代金券