剪切引号内的字符串

Cut String inside Quotation Mark

我有这个字符串:

"" & vbCrLf & " ""APPLE""" & vbCrLf & "]"

我唯一需要的就是APPLE

我尝试了 Split、Trim、Left 等几个选项,但效果不佳。

非常感谢!

正如上面的评论所说,没有足够的信息可以在不做出假设的情况下给出答案,这可能是错误的。我假设您想提取两个引号之间的值,而不管之前或之后还有什么。

如果这是你想要的,试试这个:

    Dim Result As String = Nothing
    Dim source As String = $"[{vbCrLf}""Apple""{vbCrLf}]"
    Dim FirstQuote As Integer = source.IndexOf("""")
    If FirstQuote > -1 And source.Length > FirstQuote Then
        Dim SecondQuote As Integer = source.IndexOf("""", FirstQuote + 1)
        If SecondQuote > FirstQuote Then
            Result = source.Substring(FirstQuote + 1, SecondQuote - FirstQuote - 1)
        End If
    End If

    If Result Is Nothing Then
        'Handle Invalid Format
    Else
        'Process Result
    End If

您需要修改它以便传递源字符串,而不是在代码中定义它。如果你想从一个字符串中提取相同格式的多个单词,只需设置 FirstQuote = SecondQuote + 1,检查不超过源字符串的长度并再次循环。

我假设您可能只需要获取字符串的第一次出现 (在本例中为“apple”) 在方括号内使用 split 等:

Dim AppleString As String = "This is an [Apple] or etc [...]"
console.WriteLine(AppleString.split("[")(1).split("]")(0).trim())

⚠️这不是万能的解决方案!!!