如何从文本中删除多个点(。)?
例如:
123..45 = 123.45
10.20.30 = 10.2030
12.34 = 12.34
12.. = 12
123...45 = 123.45
怎么做?
提前致谢
答案 0 :(得分:2)
没有必要使用正则表达式,您可以通过这种方式实现所需:
string s = "10.20.30";
int n;
if( (n=s.IndexOf('.')) != -1 )
s = string.Concat(s.Substring(0,n+1),s.Substring(n+1).Replace(".",""));
答案 1 :(得分:0)
Regex.Replace("Yourstring", "[.]{2,}",".");
答案 2 :(得分:0)
using System.Linq;
...
string s = "10.20.30";
while (s.Count( c => c == '.') > 1)
s = s.Remove( s.LastIndexOf('.'),1);
答案 3 :(得分:0)
好的,使用this overload of Regex.Replace
,这里的诀窍是匹配第一个.
之后的所有内容,使用后备组[(?<=
],然后使用MatchEvaluator
清除Match
。
Regex.Replace(
"127.0.8", //input string
@"(?<=\.).*", //match everything after 1st "."
m => m.Value.Replace(".",string.Empty)) //return value of match without "."