求正则表达式:在小数点前的数字序列前添加竖线分隔符
正则表达式实现:在指定位置添加竖线分隔符
需求说明
需要编写正则表达式,在混合文字、特殊字符与数字的文本行中,前缀内容(行首到小数点前数字序列的前一个连续块)与小数点前的数字序列之间插入竖线分隔符(|)。
示例输入
City of Fort Myers ***9999 5 7 6 . 0 0 State of Georgia ******1234 3 5 . 1 5 Florida Dept. of Revenue ****4321 2 9 6 . 8 0 Arizona Dept Of Rev *****0123 2 4 9 6 . 7 3 Colorado Dept. of Revenue ***-***-8754 1 7 5 5 4 . 4 7 City Of Miami 2 5 . 0 0
期望输出
City of Fort Myers ***9999 | 5 7 6 . 0 0 State of Georgia ******1234 | 3 5 . 1 5 Florida Dept. of Revenue ****4321 | 2 9 6 . 8 0 Arizona Dept Of Rev *****0123 | 2 4 9 6 . 7 3 Colorado Dept. of Revenue ***-***-8754 | 1 7 5 5 4 . 4 7 City Of Miami | 2 5 . 0 0
正则表达式方案
查找模式
^(.*\S)(\s+)(?=\d.*\.)
替换模式
$1 |
模式解释
^:匹配每一行的开头,确保仅处理当前行内的内容(.*\S):捕获行内从开头到最后一个非空白字符的所有内容(即需要保留的前缀部分)(\s+):匹配前缀后方的一个或多个空格(这部分会被替换)(?=\d.*\.):正向预查,确保空格后紧跟数字和小数点,避免误替换其他位置的空格
使用说明
将上述查找和替换模式代入支持正则的文本编辑器(如VS Code、Sublime Text)或处理工具,启用多行模式(m标志)即可批量处理所有目标行。
内容的提问来源于stack exchange,提问作者Jeffrey B. O'Connell
相关产品推荐
相关产品推荐

