Regex REQUEX将字符串转换为带分隔符和逗号的限定双字符串
我需要一个正则表达式来排序任何分隔符并保留逗号。此外,还应将以下零进行排序 因此,Regex REQUEX将字符串转换为带分隔符和逗号的限定双字符串,regex,format,Regex,Format,我需要一个正则表达式来排序任何分隔符并保留逗号。此外,还应将以下零进行排序 因此,123.456780000应转换为123456789 使用(?=.*?(.[1-9])(?!.*?\)(?=0*$)^.*$我得到123.456789 现在的问题是如何消除“”?您可以使用带有 [^\d,]|(,\d*?[1-9])0+$ 和$1(或\1)替换模式,将组1的内容保留在字符串中(请参见下面的说明) 看 详细信息 [^\d,]-除数字和逗号以外的任何字符 |-或 (,\d*?[1-9])-第1组:逗
123.456780000
应转换为123456789
使用(?=.*?(.[1-9])(?!.*?\)(?=0*$)^.*$
我得到123.456789
现在的问题是如何消除“”?您可以使用带有
[^\d,]|(,\d*?[1-9])0+$
和$1
(或\1
)替换模式,将组1的内容保留在字符串中(请参见下面的说明)
看
详细信息
-除数字和逗号以外的任何字符[^\d,]
-或|
-第1组:逗号,任何零位或多位数字,尽可能少(,\d*?[1-9])
-字符串末尾的一个或多个0+$
s0
- 谢谢你的回答,威克托。我使用您的第一个提示,并在预处理步骤中删除点。你的第二个答案对我不适用。我使用匹配,而不是用正则表达式替换。找到了第一个点,但没有删除。因此,我没有得到我需要的号码作为结果。第一个匹配是第一个点的位置。作为后处理步骤删除这些点。