Python/Java:如何反转字符串单词而不是特殊字符
Python/Java: How to Reverse a String Words but not special characters
我有一个包含特殊字符的输入字符串:
input="the: 天空是晴天"
预期输出=“晴天:是天空”
需要反转字符串单词但保留字符串中的特殊字符。
我做了简单的字符串反转,但是没有保留特殊字符:(
请帮助如何做到这一点?提前致谢。
使用re
:
s1 = 'the: sky is sunny'
fmt = re.sub(r'\w+', '{}', s1)
s2 = fmt.format(*reversed(re.findall(r'\w+', s1)))
>>> s2
'sunny: is sky the'
正则表达式:\w+
\w
:匹配任意单词字符(相当于[a-zA-Z0-9_])
+
:匹配前一个token,次数在1次到无限次之间,尽可能多次,按需回馈(贪心)
我有一个包含特殊字符的输入字符串: input="the: 天空是晴天" 预期输出=“晴天:是天空”
需要反转字符串单词但保留字符串中的特殊字符。
我做了简单的字符串反转,但是没有保留特殊字符:( 请帮助如何做到这一点?提前致谢。
使用re
:
s1 = 'the: sky is sunny'
fmt = re.sub(r'\w+', '{}', s1)
s2 = fmt.format(*reversed(re.findall(r'\w+', s1)))
>>> s2
'sunny: is sky the'
正则表达式:\w+
\w
:匹配任意单词字符(相当于[a-zA-Z0-9_])
+
:匹配前一个token,次数在1次到无限次之间,尽可能多次,按需回馈(贪心)