剪切引号内的字符串
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())
⚠️这不是万能的解决方案!!!
我有这个字符串:
"" & 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())
⚠️这不是万能的解决方案!!!