如何从字符串中获取引号内的文本?

时间:2014-03-21 07:31:04

标签: vb.net string vb.net-2010

我有一个这样的字符串:

+COPS:0,0,"XL",2+CSQ: "15",99

我怎样才能得到" XL"或" 15"来自字符串。

在第二个问题上,我尝试过使用替换并移除+CSQ:,99,但我无法在第一个上执行此操作。

3 个答案:

答案 0 :(得分:2)

对于第一个字符串,请使用String.Split分隔逗号,然后String.Trim删除引号:

Dim line = "+COPS:0,0,""XL"",2"
' Split fields on comma
Dim fields = line.Split(",")
' Quote literal
Dim quote = """"c
' Use trim to remove quotes
Dim value = fields(2).Trim(quote)

答案 1 :(得分:0)

与@Phillip Trelford一样的精神,但避免一步分裂引号:

Dim line = "+COPS:0,0,""XL"",2"
' Split fields on quotes
Dim fields = line.Split(""""c)
Dim value = fields(1)

一个班轮功能:

Public Function getValue(ByVal from As String) As String
    Return from.Split(""""c)(1)
End Function 

答案 2 :(得分:0)

您可以为该任务使用正则表达式。 例如:

Dim stringtoscan = yourstringhere
Dim expression As New Text.RegularExpressions.Regex(Chr(34) + "(.*?)" + Chr(34))
Dim stringMatches = expression .Matches(stringtoscan)