Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个平面文件( CSV )"|",其值由
"|"
为了做到这一点,我创建了这个正则表达式规则:
(\|\ *)([0-9]{0,3})(\.|\ )?([0-9]{3})?(\.|\ )?([0-9]{3})?(,)?([0-9]{0,3})(-| )?(\|)
这很好用,除非 2 个数字是连续的,例如:
| 9 450,000 |**9 809 100,000** | 1 890,000 |UN |
我该如何纠正?
如果您使用的正则表达式风格允许两种环视,我认为这可能就足够了:
(?<=\d)(?: |\.)(?=\d)
然后用空字符串替换匹配项可能就足够了。 但是,如果你不能使用它们,你仍然可以使用
(\d)(?: |\.)(\d)
然后使用引用的组($1$2或\1\2取决于口味)。
$1$2
\1\2
编辑: 确保不替换日期:
(?<=\d)(?: |\.)(?=\d)(?=[ .\d]*,)
当您使用 csv 文件时,您的数据被分隔|以便可以工作(因为我没有您的全部数据,我不确定)。
|