返回列表 上一主題 發帖

處理STRING時遇到困難

回復 3# 小俠客
Sorry!!沒看清楚你的用意
  1. Function TheWord(Mystr As String, dot As String, i As Integer) As String
  2. Dim Ay()
  3. ar = Split(Mystr, dot)
  4. For Each a In ar
  5.   If a <> "" Then
  6.   ReDim Preserve Ay(s)
  7.   Ay(s) = a
  8.   s = s + 1
  9.   End If
  10. Next
  11. TheWord = Ay(i - 1)
  12. End Function


  13. Sub nn()
  14. Dim i As Integer
  15. For i = 1 To 4
  16.   MsgBox TheWord("Now  is   the time", " ", i)
  17. Next
  18. End Sub
複製代碼

TOP

謝謝大大,雖然你寫的代碼跟我的原意有點不同,因為我的目的是抽取某一個詞,例如:WORD("我 是  一個      男   生", 3) = 一個,跟MID有點似,但我是以詞組為基礎。
我把你的理念加入,成功製成了WORD這個FUNCTION了。

我之前也試過用"SPLIT"這個功能,但我一直以為SPLIT的用法是把字串拆開,再放入列陣中,例如:A()=SPLIT(STRING, " ")
我把SPLIT放在上面的CODE時,發現了有部份的列陣是空的,想不到原來可以用REDIM PRESERVE刪去,太利害了,又多學一個方法,謝謝。

TOP

回復 1# 小俠客
  1. Function TRIM_Str(Mystr As String) As String
  2. Dim Ay()
  3. ar = Split(Mystr, " ")
  4. For Each a In ar
  5.   If a <> "" Then
  6.   ReDim Preserve Ay(s)
  7.   Ay(s) = a
  8.   s = s + 1
  9.   End If
  10. Next
  11. TRIM_Str = Join(Ay, " ")
  12. End Function


  13. Sub nn()
  14. MsgBox TRIM_Str("Now  is   the time")
  15. End Sub
複製代碼

TOP

        靜思自在 : 看別人不順眼,是自己修養不夠。
返回列表 上一主題