• 締切済み

VBScriptで文字列置換

VBScriptで文字列置換をさせたいので コーディングをご教授ください。 ----------------------------------------------- 置換前 あいうえお@,@aaaaaaaa@,@5648941248@ かきくけこさし@,@bbb@,@15249511456664654654@ 置換後 あいうえお@,@aaaaaaaa@,@111@ かきくけこさし@,@bbb@,@111@ ----------------------------------------------- 最後の@で囲まれた部分の数字を全て111にしたいのです。

みんなの回答

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.4

' べたべたなコーディングですが・・・ ' WEB からコピペする場合、インデントに全角SPを使っているので ' タブに直して下さい MsgBox MyFunc("あいうえお@,@aaaaaaaa@,@5648941248@") MsgBox MyFunc("かきくけこさし@,@bbb@,@15249511456664654654@") Function MyFunc(Src)   Tmp = Split(Src,",")   If Ubound(Tmp)=2 Then     MyFunc = Tmp(0) & "," & Tmp(1) & ",@111@"   Else     MyFunc = Src   End If End Function

すると、全ての回答が全文表示されます。
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.3

No.2です。ちょっと無駄な部分があったので修正しました。 str1="あいうえお@,@aaaaaaaa@,@5648941248@" str2="かきくけこさし@,@bbb@,@15249511456664654654@" Set re = new regexp re.Pattern="(^.*@)([^@]*)(@$)" re.Global=True replacement="$1111$3" MsgBox(re.Replace(str1,replacement) & vbCr & re.Replace(str2,replacement)) set re=Nothing

すると、全ての回答が全文表示されます。
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

正規表現を使ってみました。 str1="あいうえお@,@aaaaaaaa@,@5648941248@" str2="かきくけこさし@,@bbb@,@15249511456664654654@" Set re = new regexp re.Pattern="(^.*)(@)([^@]*)(@$)" re.Global=True replacement="$1$2111$4" MsgBox(re.Replace(str1,replacement) & vbCr & re.Replace(str2,replacement)) set re=Nothing

すると、全ての回答が全文表示されます。
  • ppg-2
  • ベストアンサー率39% (77/193)
回答No.1

int1=InStr(1,linedata,",") int2=InStr(int1+1,linedata,",") targetstr=left(linedata,int2) & "@111@" べたなコーディングかもしれませんねえ・・・

すると、全ての回答が全文表示されます。