鈴鹿の住処

■UiPath Tips■

更新日:  作成日:

文字列を置換する

■はじめに

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"