如何移除字符串中间的空格但保留首尾空格
解决方案
要实现保留字符串首尾空格、移除单词间所有空格的需求,这里提供两种实用的实现方式(以Python为例):
方法一:拆分首尾空格与中间内容处理
通过分离首尾空格和中间文本,单独处理中间部分的空格后再拼接:
original_str = ' Swarnendu Pal is a good boy ' # 提取开头空格的数量 leading_space_count = len(original_str) - len(original_str.lstrip()) # 提取结尾空格的数量 trailing_space_count = len(original_str) - len(original_str.rstrip()) # 移除中间部分的所有空格 processed_middle = original_str.strip().replace(' ', '') # 拼接得到最终结果 final_str = ' ' * leading_space_count + processed_middle + ' ' * trailing_space_count print(repr(final_str)) # 输出:' SwarnenduPalisagoodboy '
方法二:正则表达式替换
利用正则的正向断言,精准匹配单词之间的空格(不涉及首尾空格)并替换为空:
import re original_str = ' Swarnendu Pal is a good boy ' # 匹配两个非空白字符之间的一个或多个空格,替换为空 final_str = re.sub(r'(?<=\S)\s+(?=\S)', '', original_str) print(repr(final_str)) # 输出:' SwarnenduPalisagoodboy '
说明
- 两种方法都能保留原始字符串的首尾空格数量,完全符合需求;
- 正则方法更简洁,适合快速实现;拆分处理的方式逻辑更直观,便于理解和修改。
内容的提问来源于stack exchange,提问作者Swarnendu Pal
相关产品推荐
相关产品推荐

