更新日: 作成日:
文字列を置換する
■はじめに
UiPath Studio で VB.Net のメソッドや関数を使って、文字列を置換する方法を紹介します。
Replace メソッドや、Strings.Replace 関数で文字列を置換できます。
置換する回数や大文字、小文字などを区別するかを設定することができます。
VB.Net のメソッドや関数は、代入や条件分岐のアクティビティなどの VB の式を入力する欄で使用することができます。
■メソッド、関数の引数と戻り値
文字列を置換
置換元.Replace(検索文字, 置換文字)
置換元の検索文字を全て置換文字に置換します。
Strings.Replace(置換元, 検索文字, 置換文字, 開始位置, 置換回数, 比較種類)
置換する開始位置を数字で指定できます。
置換回数を数字で指定できます。
大文字、小文字などを区別するかを比較種類で指定できます。
引数「置換元」 ・・・置換される文字列を指定します。
引数「検索文字」・・・検索する文字列を指定します。
引数「置換文字」・・・「検索文字」から置換する文字列を指定します。
引数「開始位置」・・・何文字目から置換するかを指定します。省略可
引数「置換回数」・・・置換する回数を指定します。省略可
引数「比較種類」・・・大文字、小文字などを区別するかを指定します。省略可
戻り値の型・・・文字列型(String)
引数「比較種類」
値 | 説明 |
---|---|
vbBinaryCompare | 「大文字と小文字」、「半角と全角」、「ひらがなとカタカナ」を区別します。(既定値) |
vbTextCompare | 区別しません |
■解説
引数「検索文字」が引数「置換元」に無い場合は、引数「置換元」をそのまま返します。
引数「置換文字」に「""(空文字)」を指定すると、引数「検索文字」を削除することができます。
引数「開始位置」を省略すると、1文字目から置換が行われます。
省略した場合は、既定値の「1」となります。
引数「開始位置」を指定すると、指定した文字数からの置換結果が返ってきます。
引数「置換元」が「"あいうえお"」で引数「開始位置」「3」の場合、「"うえお"」を置換した結果が返ってきます。
引数「開始位置」が引数「置換元」の文字数を超える場合には、「""(空文字)」が返ってきます。
引数「置換回数」を省略すると、全ての引数「検索文字」が置換されます。
省略した場合は、既定値の「-1」となります。
引数「比較種類」を省略すると、大文字、小文字などを区別されて置換されます。
省略した場合は、既定値の「vbBinaryCompare」となります。
■使用例
文字列を置換する
Replace メソッドの使用例を紹介します。
変数 s の型は String
s = "UiPath Studio".Replace("i", "o") "UoPath Studoo"
s = "UiPath Studio".Replace("e", "o") "UiPath Studio"
s = "UiPath Studio".Replace("i", "") "UPath Studo"
s = "A" & vbCrLf & "B" Windowsのメモ帳などの改行コード
s = s.Replace(vbCrLf, "") "AB"
s = "A" & vbLf & "B" Excelのセル内の改行コード
s = s.Replace(vbLf, "") "AB"
連続して文字列を置換する
Replace メソッドや、Strings.Replace 関数を連続して文字列を置換する使用例を紹介します。
変数 s の型は String
・Replace メソッドでは、左から右へ実行されていきます
s = "aaa".Replace("a", "b").Replace("b", "c").Replace("c", "d") "ddd"
s = "abc".Replace("a", "b").Replace("b", "c").Replace("c", "d") "ddd"
s = "aaa".Replace("c", "d").Replace("b", "c").Replace("a", "b") "bbb"
s = "abc".Replace("c", "d").Replace("b", "c").Replace("a", "b") "bcd"
・Strings.Replace 関数では、内側から外へに実行されていきます
s = Strings.Replace(Strings.Replace(Strings.Replace("aaa", "a", "b"),"b", "c"),"c", "d") "ddd"
s = Strings.Replace(Strings.Replace(Strings.Replace("abc", "a", "b"),"b", "c"),"c", "d") "ddd"
s = Strings.Replace(Strings.Replace(Strings.Replace("aaa", "c", "d"),"b", "c"),"a", "b") "bbb"
s = Strings.Replace(Strings.Replace(Strings.Replace("abc", "c", "d"),"b", "c"),"a", "b") "bcd"
開始位置を指定して文字列を置換する
Strings.Replace 関数で開始位置を指定する使用例を紹介します。
変数 s の型は String
s = Strings.Replace("UiPath Studio", "t", "T", 8) "STudio"
s = Strings.Replace("UiPath Studio", "a", "A", 2) "iPAth Studio"
置換回数を指定して文字列を置換する
Strings.Replace 関数で置換回数を指定する使用例を紹介します。
変数 s の型は String
s = Strings.Replace("aaaaa", "a", "A", Count:=1) "Aaaaa"
s = Strings.Replace("aaaaa", "a", "A", Count:=3) "AAAaa"
s = Strings.Replace("aaaaa", "a", "A", Count:=-1) "AAAAA"
比較種類を指定して文字列を置換する
Strings.Replace 関数で比較種類を指定する使用例を紹介します。
変数 s の型は String
・小文字と大文字
s = Strings.Replace("aAa", "a", "B", Compare:=vbBinaryCompare) "BAB"
s = Strings.Replace("aAa", "a", "B", Compare:=vbTextCompare) "BBB"
・半角と全角
s = Strings.Replace("aaa", "a", "B", Compare:=vbBinaryCompare) "BaB"
s = Strings.Replace("aaa", "a", "B", Compare:=vbTextCompare) "BBB"
・ひらがなとカタカナ
s = Strings.Replace("あアあ", "あ", "い", Compare:=vbBinaryCompare) "いアい"
s = Strings.Replace("あアあ", "あ", "い", Compare:=vbTextCompare) "いいい"
s = Strings.Replace("aaAA", "a", "B", Compare:=vbBinaryCompare) "BaAA"
s = Strings.Replace("aaAA", "a", "B", Compare:=vbTextCompare) "BBBB"
s = Strings.Replace("a a a", " ", "", Compare:=vbTextCompare) "aaa"