Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以将字符串转换为定义为正则表达式模式的自定义格式?_C#_Regex_String Formatting - Fatal编程技术网

C# 是否可以将字符串转换为定义为正则表达式模式的自定义格式?

C# 是否可以将字符串转换为定义为正则表达式模式的自定义格式?,c#,regex,string-formatting,C#,Regex,String Formatting,使用正则表达式只匹配未转换的字符串,所以这个问题可能会非常愚蠢,但无论如何: 假设我有一个电话号码:+7771234567 我有一个正则表达式模式:^[+][0-9]\d{2}-\d{3}-\d{4}$ 如何使电话号码看起来像:+777-123-4567 谢谢假设您的字符串始终是一个+符号,后跟10位数字,您可以这样使用: String str = @"+7771234567"; System.Console.WriteLine(new Regex(@"^([+])(\d

使用正则表达式只匹配未转换的字符串,所以这个问题可能会非常愚蠢,但无论如何:

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


谢谢

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

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

+777-123-4567


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

假设您的字符串将始终是一个
+
符号,后跟10个数字,您可以使用类似这样的方式:

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

+777-123-4567


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

+7771234567
这是电话号码的严格格式吗?它总是采用这种格式吗?
+7771234567
这是电话号码的严格格式吗?它总是以这种形式出现吗?