我有以下格式的数据:
MM:ss:mmm 其中MM is minutes
,ss is seconds
和mmm is 3 digit milliseconds
,如:
05:23:236
我正在尝试用点替换第二次出现的冒号:
05:23.236
我想使用regex
模式在Notepad ++等编辑器中进行替换,我想出了
这个正则表达式匹配我的表达式:
\d{1,2}:\d{1,2}:\d{1,3}
但是现在我怎样才能获得second occurrence of colon
所以我可以用dot
替换它?
编辑:请注意,我正在使用的数据可能包含1-2位数字,1-2位数字和1-3位数毫秒
答案 0 :(得分:5)
答案 1 :(得分:2)
试试这个:
string pattern = @":(?=\d{3})";
string input = "your string";
string replacement = ".";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
答案 2 :(得分:1)
你的正则表达式很好,你只需要做组,然后通过再次调用它们来替换它们:
的选择:
(\d{1,2}:\d{1,2}):(\d{1,3})
取代:
$1\.$2
答案 3 :(得分:0)
查找::(\d{1,3})$
替换为:.\1
或.$1
,具体取决于您的正则表达式风格