我在VB.net中有一个类似{}的大概括号。
我一直在MSDN文档和VB.net教程中看到这样的语法。
Dim pattern As String = "(\d{3})-(\d{3}-\d{4})"
Dim input As String = "212-555-6666 906-932-1111 415-222-3333 425-888-9999"
Dim matches As MatchCollection = Regex.Matches(input, pattern)
For Each match As Match In matches
Console.Write("Area Code: {0}", match.Groups(1).Value)
Next 打印:区号: 212区号: 906区号: 415区号: 425
它似乎有点像"this is a string {0}" , variable打印的“这是一个字符串”& valueOfVariable.ToString
但我有几个问题要问这是如何运作的细节:
发布于 2012-01-03 17:01:11
它被称为字符串格式,
http://msdn.microsoft.com/en-us/library/system.string.format.aspx
它将接受任何参数,并将根据指定的格式转换为其文本表示形式,有许多方法可以控制如何格式化给定的对象(可以是字符串、数字、日期之类的)。
.Net中的所有内容都是从对象派生的,对象有一个名为ToString的方法,它将返回其字符串表示形式。因此,如果传递数字或其他任何内容来格式化,此方法将调用ToString,并与其他设置一起使用其字符串表示形式。
大多数情况下,这种方法将被其他一些高级方法使用,比如在Console.WriteLine等中,但最终它们都会这样做。
复合格式
http://msdn.microsoft.com/en-us/library/txafckwd.aspx
标准数字格式
http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx
自定义数字格式
http://msdn.microsoft.com/en-us/library/0c899ak8.aspx
要获得更多信息,您必须阅读MSDN中的所有相关链接。
发布于 2012-01-03 17:01:20
这两者实际上并不是相连的,这取决于你所说的上下文。
在pattern变量中,正则表达式语法\d{3}表示一个数字(0-9)的确切3次出现。
在Console.Write中,这种重载在内部将字符串传递给string.Format,其中以花括号表示的条目被解释为用于格式化的占位符。只有当传递给string.Format (显式或隐式)时,它们才具有这个特定的含义。
发布于 2012-01-03 16:59:51
“模式”是“正则表达式”的一部分。
https://stackoverflow.com/questions/8715744
复制相似问题