经典ASP
我的字符串包含这样的重复单词:
myString = "cat dog dog mouse dog cat dog"
Run Code Online (Sandbox Code Playgroud)
...我需要重新构建字符串看起来像"cat dog mouse",字符串结束的顺序并不重要,尽管我希望保持第一个实例的顺序与原始字符串相同.
如果不编写20行代码,我可以使用更有效的方法来实现这一目标吗?
Kul*_*gin 12
我想展示两种方法.
使用字典对象键
myString = "cat dog dog mouse dog cat dog"
Set oDict = Server.CreateObject("Scripting.Dictionary")
oDict.CompareMode = vbTextCompare
For Each word In Split(myString, " ")
oDict(word) = Null
Next
Response.Write(Join(oDict.Keys, " "))
Set oDict = Nothing
Run Code Online (Sandbox Code Playgroud)
字符串连接
myString = "cat dog dog mouse dog cat dog"
arrWords = Split(myString, " ")
sTmp = " "
For Each word In arrWords
If word <> "" And InStr(1, sTmp, " " & word & " ", vbTextCompare) = 0 Then _
sTmp = sTmp & word & " "
Next
Response.Write(Trim(sTmp))
Run Code Online (Sandbox Code Playgroud)
我更喜欢第一个.
注意:所有比较都不区分大小写.如果要进行区分大小写的比较,则需要将所有vbTextCompare常量更改为vbBinaryCompare.