![]() |
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 . 玩一下上面的代码,看看它是否对你有帮助。 |
![]() |
Ben · 统计向量中的单词在字符串中出现的频率 4 月前 |
![]() |
bear_525 · 从列中删除中间名和首字母,并保存在单独的列中 6 月前 |
![]() |
asdfadf · 为什么具有相同内存值的字符串和整数打印方式不同? 6 月前 |
![]() |
user764754 · 防止多行原始字符串文字中出现新行字符 6 月前 |
![]() |
Bogaso · 从列表中返回与模式匹配的元素 6 月前 |
![]() |
Jasco · 如何使用VBA提取两个相似字符之间的字符串中的单词? 6 月前 |