0

使用正则表达式仅匹配不转换的字符串,所以也许问题会很愚蠢,但无论如何:

假设我有一个电话号码:+7771234567 我有一个正则表达式模式: ^[+][0-9]\d{2}-\d{3}-\d{4}$ 如何使电话号码看起来像:+777-123-4567

谢谢

4

1 回答 1

3

假设您的字符串始终是一个+符号后跟 10 位数字,您可以使用如下内容:

String str = @"+7771234567";
            System.Console.WriteLine(new Regex(@"^([+])(\d{3})(\d{3})(\d{4})$").Replace(str, "$1$2-$3-$4"));

将产生:

+777-123-4567

我正在做的是将您的数字组捕获到正则表达式组中,然后通过$操作员访问它们。

于 2013-04-16T07:00:10.523 回答