如何使用正则表达式去除字符串首尾单词,保留中间内容?
解决方案:排除字符串首尾单词获取中间内容
方法一:分割切片法(简单高效)
先把字符串按空白分割成单词列表,再通过切片去掉首尾元素,最后拼接回字符串:
string = "None I am using a new technology test" words = string.split() Str_output = ' '.join(words[1:-1]) # 输出结果:"I am using a new technology"
这里用不带参数的split()会自动处理连续空格、制表符等空白字符,比指定" "更通用。
方法二:正则表达式法
如果一定要用正则,可以匹配首尾单词之间的内容:
import re string = "None I am using a new technology test" result = re.search(r'^\S+\s+(.*?)\s+\S+$', string) Str_output = result.group(1) if result else "" # 输出结果:"I am using a new technology"
正则逻辑:
^\S+:匹配开头的第一个单词(非空白字符序列)\s+:匹配单词间的空白(.*?):非贪婪捕获中间的所有内容\s+\S+$:匹配结尾的空白和最后一个单词
内容的提问来源于stack exchange,提问作者namrata
相关产品推荐
相关产品推荐

