ArgumentSite Asked:2022-06-11 02:44:27 +0000 UTC2022-06-11 02:44:27 +0000 UTC 2022-06-11 02:44:27 +0000 UTC 如何在字符串中的每个单词之前添加一个字符? 772 请告诉我如何在字符串中的每个单词之前添加一个字符: 'python лучший язык' 预期结果: '!python !лучший !язык' python 2 个回答 Voted Best Answer Jack_oS 2022-06-11T03:12:16Z2022-06-11T03:12:16Z my_str = 'python лучший язык' 将字符串拆分为单词: >>> my_str.split() ['python', 'лучший', 'язык'] 为每个添加一个“!”字符: for word in my_str.split(): print(f'!{word}') 将输出: !python !лучший !язык 收集到一个由空格分隔的新行: new_str = ' '.join(f'!{word}' for word in my_str.split()) 现在在 new_str 中: >>> new_str '!python !лучший !язык' Stanislav Volodarskiy 2022-06-11T03:34:06Z2022-06-11T03:34:06Z 匹配单词开头的正则表达式r'\b(?=\w)'。 \b- 单词边界(开头和结尾); \w- 一个词的符号; 括号(?=...)表示应该匹配,但字符串中的字符不需要更改。 re.sub从 中查找所有匹配项并将其替换为!. 由于我们例子中的正则表达式匹配空字符串(表示字符之间的位置),这不是替换,而是插入: @>>> re.sub(r'\b(?=\w)', '!', 'python лучший язык') '!python !лучший !язык'
将字符串拆分为单词:
为每个添加一个“!”字符:
将输出:
收集到一个由空格分隔的新行:
现在在 new_str 中:
匹配单词开头的正则表达式
r'\b(?=\w)'。\b- 单词边界(开头和结尾);\w- 一个词的符号;(?=...)表示应该匹配,但字符串中的字符不需要更改。re.sub从 中查找所有匹配项并将其替换为!. 由于我们例子中的正则表达式匹配空字符串(表示字符之间的位置),这不是替换,而是插入: