0

ASPVBに機能があります。その中の正確な単語を置き換える必要があります。たとえば、「wool | silk /wool|silk」のような文字列があります。シルク/ウールではなく、シルクだけを交換したい。

' "|" is a devider
cur_val = "wool|silk/wool|silk"
cur_val_spl = Split("wool|silk/wool|silk", "|")
key_val = "silk"
For Each i In cur_val_spl
    If i = key_val Then
        cur_val = Replace(cur_val, ("|" & i), "")
        cur_val = Replace(cur_val, i, "")
    End If
Next
Response.Write(cur_val)

この場合、私の結果は「ウール/ウール」になりますが、私が本当に欲しいのはこの「ウール|シルク/ウール」です。
助けてくれて本当に感謝しています。

4

2 に答える 2

2

あなたが行くようにあなたは新しい文字列を構築する必要があります

' "|" is a devider
cur_val = "wool|silk/wool|silk"
cur_val_spl = Split("wool|silk/wool|silk", "|")
result = ""
key_val = "silk"

addPipe = false
For Each i In cur_val_spl
    If i <> key_val Then
        if addPipe then
            result = result & "|"
        else 
           addPipe = true
        end if
        result = result & i
    End If
Next

Response.Write(result)
于 2012-04-19T19:38:37.387 に答える
0

正規表現でそれを行うことができますが、これはより短いです

cur_val = "wool|silk/wool|silk"
Response.Write left(mid(replace("|"&cur_val&"|","|wool|","|silk|"),2),len(cur_val))
'=>silk|silk/wool|silk

残念ながら、あなたはすでに他の答えを受け入れました8>)

于 2012-04-19T23:22:18.720 に答える