■■■关于截取文本字符串的问题。请教。

yunok 2004-01-02 01:39:03
我想取出文本中所有""(引号)内的内容,请问如何做呢?
比如:
asdfsad("解散旁观者", "解散所有旁观者。", "确 认")sdfsdf
sadfasdf("参加", "从下一个游戏开始参加。", "确 认")sdfsdf
这一段字符串,我想取出
解散旁观者
解散所有旁观者
确 认
参加

请问如何做??
...全文
48 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
3661512 2004-01-02
  • 打赏
  • 举报
回复
我给你演示一下取asdfsad("解散旁观者", "解散所有旁观者。", "确 认")sdfsdf
这句,先在窗体上放一个textbox(text1),将其text属性设置为:asdfsad("解散旁观者", "解散所有旁观者。", "确 认")sdfsdf
然后写入如下代码:
Private Sub Form_Load()
Dim i As Long, j As Long, str As String, strr() As String
Dim k As Long
StrSplit Text1, strr(), ","
For k = 0 To UBound(strr)
i = InStr(1, strr(k), """")
j = InStrRev(strr(k), """")
str = Mid(strr(k), i + 1, j - i - 1)
Debug.Print str
Next
End Sub
Public Sub StrSplit(lpString As String, VariableGoesHere() As String, sChar As String)
Dim intAccs As Long
Dim i As Integer
Dim lngSpacePos As Long, lngStart As Long
lpString = Trim$(lpString)
lngSpacePos = 1
lngSpacePos = InStr(lngSpacePos, lpString, sChar)
Do While lngSpacePos
intAccs = intAccs + 1
lngSpacePos = InStr(lngSpacePos + 1, lpString, sChar)
Loop
ReDim VariableGoesHere(intAccs)
lngStart = 1
For i = 0 To intAccs
lngSpacePos = InStr(lngStart, lpString, sChar)
If lngSpacePos Then
VariableGoesHere(i) = Mid(lpString, lngStart, lngSpacePos - lngStart)
lngStart = lngSpacePos + Len(sChar)
Else
VariableGoesHere(i) = Right(lpString, Len(lpString) - lngStart + 1)
End If
Next
End Sub

可以达到你的要求
landongfang 2004-01-02
  • 打赏
  • 举报
回复
Dim s As String
Dim c As Integer

s = "asdfsad(""解散旁观者"", ""解散所有旁观者。"", ""确 认"")sdfsdf"

c = InStr(1, s, """")
While c > 0
s = Mid(s, c + 1)
c = InStr(1, s, """")
Debug.Print Mid(s, 1, c - 1)
s = Mid(s, c + 1)
c = InStr(1, s, """")
Wend
SoHo_Andy 2004-01-02
  • 打赏
  • 举报
回复
试试,需要修改
Private Sub Command1_Click()
Dim str1 As String
str1 = "asfd""我在广州"",""我喜欢VB"",(""呵呵"")asd"
FindStr str1
End Sub
Function FindStr(str1 As String)
Dim i As Integer
Dim j As Integer
i = InStr(str1, """")
j = InStr(Mid(str1, i + 1, Len(str1)), """")
If i <> 0 And j <> 0 Then
MsgBox Mid(str1, i + 1, j - 1)
FindStr Mid(str1, i + 1, Len(str1))
End If
End Function

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧