首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在VB.net中字符串中使用这种{}括号意味着什么?我在哪里能找到细节?

问在VB.net中字符串中使用这种{}括号意味着什么?我在哪里能找到细节?
EN

Stack Overflow用户
提问于 2012-01-03 16:57:50
回答 3查看 6.9K关注 0票数 4

我在VB.net中有一个类似{}的大概括号。

我一直在MSDN文档和VB.net教程中看到这样的语法。

代码语言:javascript
复制
  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

但我有几个问题要问这是如何运作的细节:

  1. 会自动假定花括号中包含一个字符串参数,或者它依赖于上下文。我只看到这种语法是Console.WriteLine的一部分(我谷歌了特殊字符vb.net 4.0,但没有运气)?
  2. ,您可以在什么时候以及如何将参数分配到这样的字符串中?
  3. 可以指向我指向MSDN引用吗?这个语法/字符串技巧叫什么?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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中的所有相关链接。

票数 7
EN

Stack Overflow用户

发布于 2012-01-03 17:01:20

这两者实际上并不是相连的,这取决于你所说的上下文。

在pattern变量中,正则表达式语法\d{3}表示一个数字(0-9)的确切3次出现。

在Console.Write中,这种重载在内部将字符串传递给string.Format,其中以花括号表示的条目被解释为用于格式化的占位符。只有当传递给string.Format (显式或隐式)时,它们才具有这个特定的含义。

票数 7
EN

Stack Overflow用户

发布于 2012-01-03 16:59:51

“模式”是“正则表达式”的一部分。

请看这里的入门:http://www.regular-expressions.info/dotnet.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8715744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档