我有一个String,它包含这样的邮件地址列表:
Dim address1 As String = """Merkel, Angela"" <angela@example.com>, ""Peter Altmeyer"" <peter@example.com>"我想归档的是用逗号分隔String。因此,我想我需要Regexp.Split,但我不知道要做什么才能得到
"Merkel, Angela" <angela@example.com>
"Peter Altmeyer" <peter@example.com>我特别困惑于用双引号""来转义引号。这在正则表达式中也是这样转义的吗?
发布于 2014-02-14 18:39:03
您可以通过在分隔符(">,“)中包含">”来简单地使用String.Split方法来完成它;但是">“将从结果中丢失,并且必须重新添加它。
使用Regex,您可以这样做:
Dim parts() As String = Regex.Split(address1, "(?<=>),\s")这里我使用Regex模式
(?<=prefix)find它在前缀后面找到一个位置。结果不包括前缀。因此,只有", "被从输出中删除,并且">“保持不变。
发布于 2014-02-14 18:44:56
您可以在这个RegEx:(?<=>),\s*?(?="")上拆分。它发现逗号(后面是零或多个空白空间)前面有一个<,然后是一个""。
发布于 2014-02-14 18:52:12
Dim address1 As String = """Merkel, Angela"" <angela@example.com>, ""Peter Altmeyer"" <peter@example.com>"
Dim parts() As String = Regex.Split(address1, "(?<=>),\s*?(?="")")https://stackoverflow.com/questions/21786942
复制相似问题