3
クラシックASPASP文字列から重複した単語を削除
私の文字列は、このように重複した単語が含まれています最初のインスタンスを元の文字列と同じ順序に保つことを望みますが、文字列の終わりの順序は本当に問題になりません。
20行のコードを書くことなく、これを達成するためのより効率的な方法がありますか?
クラシックASPASP文字列から重複した単語を削除
私の文字列は、このように重複した単語が含まれています最初のインスタンスを元の文字列と同じ順序に保つことを望みますが、文字列の終わりの順序は本当に問題になりません。
20行のコードを書くことなく、これを達成するためのより効率的な方法がありますか?
2つの方法を示したいと思います。私は最初のものを好むだろう
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))
使用してDictionaryオブジェクトのキー
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
文字列の連結。
注:すべての比較では大文字と小文字が区別されません。大文字と小文字を区別したい場合は、vbTextCompareの定数をに変更する必要があります。vbBinaryCompare
うわー!それはあなたの印象的で信じられないほど寛大です。私はすぐにそれを試してみます... – TheCarver
あなたは大歓迎です。 OKを試してみましょう。 –
うまくやってくれてありがとう!私もトップを使いました。 – TheCarver