1
2
我想你得把电话号码串分成前10个数字和其余的数字。
|
2
1
我建议把它当作一串数字,而不是数字。然后您将显式地使用子字符串分隔各个部分。 |
3
1
我试着把它挤成一行,就想到了这个。
如果它以+开头,它将不受影响。然后它将查找数字块。3,3,4然后它会查找ext或x作为扩展名和另外2-5个数字。在这一点上,你可以格式化它无论你喜欢,我选择了空间。 1234567890->'123 456 7890' (123)456.7890->'123 456 7890' +1(999)555-4455外接123->'+1 999 555 4455 x123' |
4
0
问题在于你
你为什么要进来
以下是方法的更新版本:
测试它:
在这种情况下不需要正则表达式。如果您真的想使用扩展名,那么您的替换方法需要确定长度,以便在需要时附加扩展名,如下所示:
|
5
0
使用正则表达式:
主电话号码之后的任何内容都将作为分机返回 因为您在代码中使用的是Int64,所以我的regex假定电话号码中没有空格或标点符号。 --编辑—— 艾哈迈德指出,我没有处理一个没有扩展名的数字的情况。所以这里有一个修订版,它使用matchEvaluator来完成这项工作。它比其他答案更好吗?我不知道-但这是一个不同的方法,所以我想我会把它扔出去。
这可能需要使用StringBuilder。 |
6
0
尝试使用正则表达式:
我从我发现的一个例子中编辑了以上内容 here . 玩一下上面的代码,看看它是否对你有帮助。 |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
Manny · 如何比较Perl中的字符串? 2 年前 |
Manan Girdhar · 拆分字符串并仅在java中使用第二部分 2 年前 |
AnxiousLuna · Python使用len()获取数组索引数 2 年前 |
antonoyaro8 · 数据帧中每列上的Grepl 2 年前 |