如何在指定字符X每次出现后添加空格?以.exe后缀场景为例
指定字符后插入空格的实现方案
需求说明
原始字符串为file1.exefile2.exefile3.exe,需要在每个匹配的指定字符.exe后添加空格,最终输出为file1.exe file2.exe file3.exe。
实现方案
核心思路是通过字符串替换或正则匹配处理,两种常用实现方式如下:
- 简单通用实现(适配所有工具场景,无需复杂正则)
直接将目标字符全局替换为「目标字符+空格」,最后删除字符串首尾的空白即可。
Python代码示例:original_str = "file1.exefile2.exefile3.exe" target_char = ".exe" result = original_str.replace(target_char, f"{target_char} ").strip() print(result) # 输出结果:file1.exe file2.exe file3.exe - 正则精准实现(直接避免末尾多余空格)
用负向先行断言排除处于字符串末尾的匹配项,仅在非末尾的目标字符后加空格。
通用正则匹配规则:(\.exe)(?!$),替换内容为$1(末尾带1个空格)
命令行sed实现示例(需sed支持PCRE正则):echo "file1.exefile2.exefile3.exe" | sed -E 's/(\.exe)(?!$)/\1 /g'
若所用工具不支持先行断言,替换后单独删除末尾空格即可,示例:echo "file1.exefile2.exefile3.exe" | sed 's/\.exe/.exe /g' | sed 's/ *$//'
内容的提问来源于stack exchange,提问作者user16186462
相关产品推荐
相关产品推荐

