示例91是印度的ISD代码,下面是逗号分隔的手机号码列表
9111111111,1111111112,1111111113,911111111114,911111111115
如果不存在,91为电话号码添加前缀的最佳方式是什么?以下是预期产出
919111111111,911111111112,911111111113,911111111114,911111111115
我们总是可以拆分并循环检查和替换值,然后将它们连接起来。 还有更好的方法吗?
答案 0 :(得分:4)
使用此:
resultString = Regex.Replace(yourString, @"(?=\b(?!91\d{10})\d{10}\b)", "91");
在 the regex demo 中,请参阅底部的替换。
<强>解释强>
正则表达式(?=\b(?!91\d{10})\d{10}\b)
匹配我们应插入91
的位置,而不匹配任何字符。我们将该位置匹配替换为91
。
前瞻(?=\b(?!91\d{10})\d{10}\b)
断言接下来是
\b
一个单词边界(确保我们在中间字符串不匹配)(?!91\d{10})
后面没有91
和十位数(负面lookehead)和\d{10}
十位数字<强>参考强>
答案 1 :(得分:2)
答案 2 :(得分:2)
这取决于你如何更好地定义,但你总是可以使用linq:
var numbers = input.Split(',').Select(x => x.StartsWith("91") ? x : "91" + x);
var result = string.Join(",", numbers);