替换第一次出现","在带有正则表达式的字符串中

时间:2018-02-10 11:01:47

标签: regex swift string

我有正则表达式问题。它不仅取代了#34;,#34;还有之前的所有角色。

我想替换第一次出现","到"。":

"1,,000.23" -> "1.,000.23"

我现在使用的这种模式:

^(.*?),

我收到的结果是:

"1,,000.23" -> ".,000.23"

预期结果:

"1,,000.23" -> "1.,000.23"

3 个答案:

答案 0 :(得分:3)

也许您可以使用^([^,]+),并替换为^

这将从字符串([^,]+)的开头捕获而不是组,中的逗号,然后匹配逗号{{1}}

答案 1 :(得分:2)

使用^(.*?),并将其替换为$1.。 这意味着:

group as less as possible things from line start till first , into group 1
then match a `,` 
and replace it with the captured text of group 1 `$1` and a dot `.`

请参阅:https://regexr.com/3kjdq

答案 2 :(得分:2)

将捕获组复制到结果中。取代

^(.*?),

$1