UiPathでは文字列(String型変数)を操作するための便利なメソッドがたくさん用意されています。
初心者の方でも理解しやすいように、UiPathで使えるString型変数のメソッドをアルファベット順に紹介します。

メソッドは思ったよりたくさんあるのね



目次から必要なメソッドを見つけてください!
文字列のコピーを作成 | Clone
Clone()
:文字列のコピーを作成します。引数はありません。
Cloneメソッドは、文字列の完全なコピーを新しいメモリ領域に作成します。
通常の代入(=)でも同じ結果が得られますが、特定の状況でオブジェクトの参照関係を理解するのに役立ちます。
初心者の方は普段あまり使う必要はありませんが、覚えておくと便利です。
'使用例と結果
"UiPath".Clone() → "UiPath"
文字列を比較 | CompareTo
CompareTo(比較対象の文字列)
:2つの文字列を辞書順で比較し、結果を数値で返します。
CompareTo メソッドは2つの文字列を「辞書の並び順」で比較し、その結果を数値で教えてくれます。
例えば「あ」と「か」では「あ」の方が辞書で先に来るため、「あいう」.CompareTo(「かきく」) は-1になります。
逆に「か」の方が後ろなので、「かきく」.CompareTo(「あいう」) は1になります。
同じ文字列同士なら0が返ります。
戻り値は以下の通りです。
- 0:両方の文字列が完全に同じ
- 負の値(通常は-1):左側の文字列が辞書順で前にある
- 正の値(通常は1):左側の文字列が辞書順で後ろにある
このメソッドは文字列のソート(並べ替え)や順序付けに便利です。
'使用例と結果
"apple".CompareTo("banana") → -1 (前の文字列が小さい)
"banana".CompareTo("apple") → 1 (前の文字列が大きい)
"apple".CompareTo("apple") → 0 (同じ文字列)
"あいう".CompareTo("かきく") → -1 (「あ」は「か」より前)
部分文字列を含むか確認 | Contains
Contains(検索する部分文字列)
指定した文字列が含まれているかを確認し、含まれていればTrue、含まれていなければFalseを返します。
Containsメソッドは、ある文字列が別の文字列の中に含まれているかどうかを簡単に調べることができます。
例えばユーザーの入力に特定のキーワードが含まれているかを確認したり、ファイル名に特定の文字列が含まれているかをチェックしたりするのに便利です。
大文字と小文字は区別されます。例えば 「UiPath」 には 「Path」 は含まれていますが、「path」は含まれないとみなします。大文字小文字を区別せずに検索したい場合は、ToLowerと組み合わせて使いましょう。
このメソッドは単にTrue/Falseを返すだけなので、「どの位置に含まれているか」までは分かりません。
位置を知りたい場合はIndexOfメソッドを使いましょう。
'使用例と結果
"りんご".Contains("り") → True
"りんご".Contains("あ") → False
"UiPath".Contains("Path") → True
"UiPath".Contains("path") → False (大文字小文字は区別される)
'大文字小文字を区別せずに検索する場合
"UiPath".ToLower().Contains("path") → True
指定文字列で終わるか確認 | EndsWith
EndsWith(確認する末尾文字列 [, StringComparison比較オプション])
文字列が指定した文字列で終わるかを確認し、Trueまたはfalseで返します。
EndsWithメソッドは、文字列が特定の文字や単語で終わっているかどうかをチェックします。
特にファイルの種類をその拡張子で判断したい時に便利です。例えば「.pdf」で終わっていれば PDF ファイル、「.jpg」で終わっていれば画像ファイルと判断できます。
デフォルトでは大文字と小文字を区別します。大文字小文字を区別せずに確認したい場合は、2つめの引数に「StringComparison.OrdinalIgnoreCase」を指定します。
よく使われるケース:
- ファイルの拡張子チェック(例:”report.pdf”は”.pdf”で終わるか)
- URLのドメインチェック(例:”example.com”で終わるか)
- 文字列の末尾パターンの確認(例:名前が「さん」で終わるか)
'使用例と結果
"report.pdf".EndsWith(".pdf") → True
"report.pdf".EndsWith(".doc") → False
"山田太郎".EndsWith("太郎") → True
"山田太郎".EndsWith("山田") → False
"report.pdf".EndsWith(".PDF", StringComparison.OrdinalIgnoreCase) → True (大文字小文字を区別しない)
文字列が等しいか比較 | Equals
Equals(比較対象の文字列 [, StringComparison比較オプション])
2つの文字列が等しいかを確認し、等しければTrue、異なればFalseを返します。
Equalsメソッドは、2つの文字列が完全に一致しているかどうかを調べます。単純に「==」演算子を使った比較と同じですが、大文字小文字を無視したい場合などに便利なオプションがあります。
デフォルトでは大文字と小文字は区別されます(”UiPath”と”uipath”は異なる文字列とみなされる)。大文字と小文字を区別せずに比較したい場合は、2つめの引数に「StringComparison.OrdinalIgnoreCase」を指定します。
よく使われるケース
- ユーザー入力の検証(例:パスワードが一致するか)
- 選択肢のチェック(例:「はい」と入力されたか)
- 設定値の確認(例:特定のモードが選択されているか)
'使用例と結果
"UiPath".Equals("UiPath") → True
"UiPath".Equals("uipath") → False (大文字小文字は区別される)
"UiPath".Equals("uipath", StringComparison.OrdinalIgnoreCase) → True (大文字小文字を無視)
"こんにちは".Equals("こんにちは") → True
書式指定で文字列を作成 | String.Format
String.Format(書式文字列, {0}に入れる値, {1}に入れる値, ...)
:指定した書式に従って文字列を作成します。
Formatメソッドは、文字列に変数の値を埋め込んで、見やすく整形された文字列を作るのに非常に便利です。
書式文字列の中で「{0}」「{1}」などのプレースホルダーを使い、それぞれを順番に引数の値で置き換えます。
例えばString.Format("こんにちは、{0}さん。今日は{1}です。", "山田", "月曜日")
の結果は
「こんにちは、山田さん。今日は月曜日です。」になります。
{0}には「山田」、{1}には「月曜日」が入るからです。
以下のような特殊な書式指定も可能です。
{0:C}
– 通貨形式(例:¥1,234){0:N}
– 数値形式(例:1,234.50){0:D6}
– 6桁の10進数(例:001234){0:F2}
– 小数点以下2桁の固定小数点形式(例:1234.50){0:P}
– パーセント形式(例:0.12 → 12.00%){0:yyyy/MM/dd}
– 日付形式(例:2025/04/01){0,10}
– 10文字幅の右寄せ{0,-10}
– 10文字幅の左寄せ
'使用例と結果
String.Format("名前: {0}, 年齢: {1}歳", "田中太郎", 30) → "名前: 田中太郎, 年齢: 30歳"
String.Format("価格: {0:C}", 1234.5) → "価格: ¥1,234.5" (通貨形式)
String.Format("日付: {0:yyyy年MM月dd日}", #2025/04/01#) → "日付: 2025年04月01日"
String.Format("左寄せ:{0,-10}、右寄せ:{1,10}", "ABC", "DEF") → "左寄せ:ABC 、右寄せ: DEF"
'同じプレースホルダーを複数回使用することも可能
String.Format("{0}さんこんにちは!{0}さんのスコアは{1}点です。", "山田", 85)
→ "山田さんこんにちは!山田さんのスコアは85点です。"
文字列の位置を検索 | IndexOf
IndexOf(検索する文字列 [, 検索開始位置 [, 検索文字数]])
指定した文字列が最初に現れる位置(0から始まる)を返します。見つからない場合は-1を返します。
IndexOfメソッドは、文字列の中である部分文字列がどの位置に現れるかを調べます。
Containsメソッドが「含まれているかどうか」を返すのに対し、IndexOfはさらに「どの位置に含まれているか」も教えてくれます。
位置(インデックス)は0から数え始めることに注意してください。
文字列の最初の文字の位置は0、2番目の文字の位置は1となります。
オプションで検索開始位置を指定すると、文字列の途中から検索を開始できます。これは同じパターンが複数回出現する場合に役立ちます。
このメソッドは大文字と小文字を区別します。
例えば 「UiPath」 の中で 「path」 を検索すると、見つからない(-1が返る)ことになります。
よく使われるケース
- 文字列の分割(特定の区切り文字の位置を見つける)
- パターンの検出と抽出(メールアドレスから@の位置を見つけるなど)
- テキスト処理で特定の位置を基準に操作する
'使用例と結果
"UiPath".IndexOf("Path") → 2 (0から数えて2番目の位置)
"UiPath".IndexOf("path") → -1 (見つからない場合は-1)
"りんごとバナナとみかん".IndexOf("と") → 3 (最初の「と」の位置)
"りんごとバナナとみかん".IndexOf("と", 4) → 7 (4番目以降で最初の「と」の位置)
'実践例: メールアドレスからユーザー名とドメインを分ける
Dim email As String = "user@example.com"
Dim atPosition As Integer = email.IndexOf("@")
'atPosition = 4
'atPositionを使って分割できる
Dim userName As String = email.Substring(0, atPosition) '→ "user"
Dim domain As String = email.Substring(atPosition + 1) '→ "example.com"
指定位置に文字列を挿入 | Insert
Insert(挿入位置, 挿入する文字列)
:指定した位置に文字列を挿入します。
Insertメソッドは、既存の文字列の途中に別の文字列を挿入するためのメソッドです。
「挿入位置」で指定した場所に、「挿入する文字列」を組み込みます。
位置(インデックス)は0から数えることに注意してください。0は文字列の先頭を意味します。
元の文字列の長さと同じ値を指定すると、末尾に追加することになります。
よく使われるケース:
- ファイル名にタイムスタンプを挿入(例:report_20250401.pdf)
- テキストの途中に情報を追加
- 書式付きテキストの作成
'使用例と結果
"UiPath".Insert(2, "-") → "Ui-Path" (2番目の位置に挿入)
"UiPath".Insert(0, "使用: ") → "使用: UiPath" (先頭に挿入)
"UiPath".Insert(6, " Automation") → "UiPath Automation" (末尾に挿入)
"山田".Insert(2, "太郎") → "山田太郎"
'実践例: ファイル名にタイムスタンプを挿入
Dim fileName As String = "report.pdf"
Dim dotPosition As Integer = fileName.IndexOf(".")
Dim newFileName As String = fileName.Insert(dotPosition, "_20250401")
'結果: newFileName = "report_20250401.pdf"
空文字かを確認 | IsNullOrEmpty
String.IsNullOrEmpty(検査する文字列)
:文字列が空(””)または null かを確認し、該当すればTrue、そうでなければFalseを返します。
IsNullOrEmptyメソッドは、文字列が空またはnullかどうかをチェックします。
データが欠落していないか確認したりするのに便利です。
「空文字」とは長さが0の文字列(””)のことで、スペースなどの空白文字が含まれる文字列(” “)は空文字とはみなされません。
空白文字もチェックしたい場合は、IsNullOrWhiteSpaceメソッドを使います。
よく使われるケース:
- 入力フォームのバリデーション(必須項目のチェック)
- データ処理前の存在確認
- エラー防止のための事前チェック
'使用例と結果
String.IsNullOrEmpty("") → True (空文字)
String.IsNullOrEmpty(Nothing) → True (Nothing)
String.IsNullOrEmpty("UiPath") → False (文字が入っている)
String.IsNullOrEmpty(" ") → False (空白も文字として扱われる)
'空白文字もチェックする場合
String.IsNullOrWhiteSpace(" ") → True
配列を連結して文字にする | Join
String.Join(区切り文字, 結合する配列)
:配列の要素を指定した区切り文字で連結し、1つの文字列にして返します。
Joinメソッドは、配列の要素を指定した区切り文字でつなげて1つの文字列にします。
これは複数の項目をカンマ区切りやスペース区切りで表示したいときに便利です。
区切り文字には任意の文字列を使用できます。カンマ、スペース、ハイフン、改行コードなどをよく使います。
空の文字列(””)を指定すると、区切り文字なしで連結されます。
どんな型の配列でも、文字列に変換されて連結されます。
よく使われるケース:
- リストの項目をカンマ区切りで表示
- CSVフォーマットの作成
- 複数行のテキスト作成(区切り文字に改行を使用)
'使用例と結果
String.Join("-", {"りんご", "バナナ", "みかん"}) → "りんご-バナナ-みかん"
String.Join(", ", {"東京", "大阪", "名古屋"}) → "東京, 大阪, 名古屋"
String.Join("", {"Ui", "Path"}) → "UiPath" (区切り文字なし)
String.Join(",", {1, 2, 3, 4, 5}) → "1,2,3,4,5" (数値配列も可)
String.Join(vbCrLf, {"1行目", "2行目", "3行目"}) → 複数行のテキスト
'実践例: CSVデータの作成
Dim headers As String() = {"名前", "年齢", "住所"}
Dim row1 As String() = {"田中太郎", "30", "東京都"}
Dim csvHeader As String = String.Join(",", headers)
Dim csvRow As String = String.Join(",", row1)
'結果: csvHeader = "名前,年齢,住所"
'結果: csvRow = "田中太郎,30,東京都"
最後に出現する位置を検索 | LastIndexOf
LastIndexOf(検索する文字列 [, 検索開始位置 [, 検索文字数]])
:指定した文字列が最後に現れる位置を返します。見つからない場合は-1を返します。
LastIndexOfメソッドはIndexOfメソッドと似ていますが、最初に見つかった位置ではなく、最後に見つかった位置を返す点が異なります。
文字列を後ろから検索していると考えるとわかりやすいでしょう。
このメソッドはファイルパスから拡張子やファイル名を抽出する場面で、特に役立ちます。
位置(インデックス)は通常通り0から数えることに注意してください。
検索開始位置を指定すると、その位置から「前方向に」検索します。
指定した位置よりも後ろの部分は検索対象外になります。
よく使われるケース:
- ファイルパスから拡張子を取得(最後のドットの位置を検索)
- ファイルパスからファイル名を取得(最後のスラッシュやバックスラッシュの位置を検索)
- 文字列の最後の区切り文字を見つける
'使用例と結果
"UiPath Automation UiPath".LastIndexOf("UiPath") → 19 (2つ目のUiPathの位置)
"りんごとバナナとみかん".LastIndexOf("と") → 7 (最後の「と」の位置)
"C:\Folder\file.txt".LastIndexOf(".") → 13 (拡張子のドットの位置)
"C:\Folder\file.txt".LastIndexOf("\") → 9 (最後のバックスラッシュの位置)
'実践例: ファイルパスから拡張子とファイル名を取得
Dim filePath As String = "C:\Documents\Reports\monthly_report.pdf"
Dim lastDotPos As Integer = filePath.LastIndexOf(".")
Dim extension As String = filePath.Substring(lastDotPos) '→ ".pdf"
Dim lastSlashPos As Integer = filePath.LastIndexOf("\")
Dim fileName As String = filePath.Substring(lastSlashPos + 1) '→ "monthly_report.pdf"
文字列の長さを取得 | Length
Length
:文字列の長さ(文字数)を返すプロパティです。
日本語などの全角文字も1文字としてカウントされます。例えば「こんにちは」の長さは5です。
空文字(””)の長さは0になります。nullの場合はエラーになるので注意してください
事前にIsNullOrEmptyでチェックするとよいでしょう。
Lengthプロパティは以下のような場面で役立ちます。
- 入力された文字数の制限チェック(例:パスワードが8文字以上か)
- 文字列が空でないことの確認(Length > 0)
- テキスト処理での計算(例:文字列の中央位置を計算)
'使用例と結果
"UiPath".Length → 6
"こんにちは".Length → 5 (日本語も1文字として数える)
"".Length → 0 (空文字の長さは0)
"12345".Length → 5
'実践例: 文字数制限のチェック
Dim password As String = "pass123" 'パスワード入力があるとする
If password.Length < 8 Then
'8文字未満の場合の処理
MessageBox.Show("パスワードは8文字以上で設定してください")
End If
'実践例: 長い文字列を省略表示
Dim longText As String = "これは非常に長いテキストです..."
If longText.Length > 10 Then
Dim shortText As String = longText.Substring(0, 10) & "..."
'結果: shortText = "これは非常に長い..."
End If
左側に文字を追加 | PadLeft
PadLeft(目標の文字数 [, 埋める文字])
:指定した長さになるよう文字列の左側に文字を追加します。
PadLeftメソッドは文字列が指定した文字数になるように、左側に文字を追加します。
元の文字列がすでに指定長以上の場合は、何も変更されず元の文字列がそのまま返されます。
引数:
- 目標の文字数:最終的な文字列の長さ
- 埋める文字(省略可):左側に追加する文字。省略すると空白(スペース)が使われます。
このメソッドはよく数値の表示を整えるために使われます。
特に0埋め(例:42を”00042″にする)や、表形式のデータの右寄せなどに便利です。
よく使われるケース:
- 数値の0埋め(例:連番を001, 002, …のようにする)
- 表での右寄せ表示(左側に空白を追加)
- 固定長フィールドの作成(データ交換やレポート作成時)
'使用例と結果
"42".PadLeft(5, '0') → "00042" (5桁になるまで左側に0を追加)
"UiPath".PadLeft(10, '*') → "****UiPath" (10桁になるまで左側に*を追加)
"42".PadLeft(2, '0') → "42" (すでに2桁あるので変化なし)
"A".PadLeft(3) → " A" (文字を指定しない場合は空白)
'実践例: 連番の0埋め
Dim number As Integer = 42
Dim formattedNumber As String = number.ToString().PadLeft(6, '0')
'結果: formattedNumber = "000042"
'実践例: 表形式データの右寄せ
Dim data As String() = {"100", "1500", "42", "8900"}
For Each value As String In data
Console.WriteLine(value.PadLeft(6))
Next
'結果:
' 100
' 1500
' 42
' 8900
右側に文字を追加 | PadRight
PadRight(目標の文字数 [, 埋める文字])
:指定した長さになるよう文字列の右側に文字を追加します。
PadRightメソッドは文字列が指定した文字数になるように、右側に文字を追加します。
元の文字列がすでに指定長以上の場合は、何も変更されず元の文字列がそのまま返されます。
引数:
- 目標の文字数:最終的な文字列の長さ
- 埋める文字(省略可):右側に追加する文字。省略すると空白(スペース)が使われます。
このメソッドは固定長フィールドの作成や、表形式のデータの左寄せなどに便利です。
よく使われるケース:
- 固定長フィールドの作成(データ交換時)
- 表での左寄せ表示(右側に空白を追加)
- 文字列の右側にパディング文字を追加する
'使用例と結果
"ABC".PadRight(6, '-') → "ABC---" (6桁になるまで右側に-を追加)
"名前".PadRight(10, '=') → "名前======" (10桁になるまで右側に=を追加)
"データ".PadRight(5) → "データ " (文字を指定しない場合は空白)
"長すぎる文字列".PadRight(5, 'X') → "長すぎる文字列" (すでに指定長より長いので変化なし)
'実践例: 固定長フィールドの作成
Dim name As String = "山田"
Dim id As String = "A123"
Dim record As String = name.PadRight(10) & id.PadRight(5)
'結果: record = "山田 A123 "
'実践例: 表形式データの作成
Dim header As String = "項目名".PadRight(15) & "価格".PadRight(10) & "備考"
Dim row1 As String = "りんご".PadRight(15) & "100円".PadRight(10) & "国産"
'結果:
'項目名 価格 備考
'りんご 100円 国産
文字列の一部を削除 | Remove
Remove(削除開始位置 [, 削除する文字数])
:指定した位置から文字を削除します。
Removeメソッドは、文字列の一部を削除するために使います。
「削除開始位置」から削除を始め、「削除する文字数」分の文字を取り除きます。
2つの使い方があります。
Remove(削除開始位置)
:指定した位置から文字列の最後までをすべて削除Remove(削除開始位置, 削除する文字数)
:指定した位置から指定した文字数だけ削除
位置(インデックス)は0から数えることに注意してください。
削除する文字数を指定しない場合は、指定位置以降のすべての文字が削除されます。これはSubstring(0, 削除開始位置)と同じ結果になります。
よく使われるケース:
- ファイル名から拡張子を削除
- 不要な文字やパターンの削除
- 文字列の一部を切り取る
'使用例と結果
"UiPath Automation".Remove(7) → "UiPath " (7番目以降をすべて削除)
"UiPath Automation".Remove(7, 5) → "UiPath ation" (7番目から5文字削除)
"report.pdf".Remove(6) → "report" (拡張子を削除)
"山田太郎".Remove(2) → "山田" (2番目以降を削除)
'実践例: ファイル名から拡張子を削除
Dim fileName As String = "monthly_report.pdf"
Dim dotPosition As Integer = fileName.LastIndexOf(".")
Dim nameOnly As String = fileName.Remove(dotPosition)
'結果: nameOnly = "monthly_report"
'実践例: URLからクエリパラメータを削除
Dim url As String = "https://example.com/page?id=123&type=report"
Dim questionMarkPos As Integer = url.IndexOf("?")
Dim baseUrl As String = url.Remove(questionMarkPos)
'結果: baseUrl = "https://example.com/page"
文字列を置換 | Replace
Replace(置換前の文字列, 置換後の文字列)
:文字列内のすべての指定パターンを別の文字列に置き換えます。
Replaceメソッドは、文字列内の特定の部分を別の文字列に置き換えます。検索対象となる文字列のすべての出現箇所が置き換えられます。
引数:
- 置換前の文字列:検索して置き換えたい元の文字列
- 置換後の文字列:置き換え先の新しい文字列(空文字列””を指定すると削除と同じ効果)
このメソッドは大文字と小文字を区別します。
例えば、”UiPath”の中の”Path”を置き換えることはできますが、”path”(小文字)を検索しても一致しません。
これは文字列操作で最も頻繁に使われるメソッドの一つで、以下のようなケースで活用できます。
- 特定の文字やパターンの置換(ハイフンをアンダースコアに変えるなど)
- 不要な文字の削除(空文字列で置換)
- データのクリーニング(改行コードの統一、余分な文字の削除など)
- 特殊文字のエスケープ処理
'使用例と結果
"UiPath Automation".Replace("Automation", "RPA") → "UiPath RPA"
"山田太郎".Replace("太郎", "花子") → "山田花子"
"123-456-789".Replace("-", "") → "123456789" (ハイフンを削除)
"Hello World!".Replace(" ", "_") → "Hello_World!" (空白をアンダースコアに)
'すべての出現箇所が置換される
"りんごとバナナとみかん".Replace("と", "や") → "りんごやバナナやみかん"
'実践例: 電話番号のフォーマット変更
Dim phoneNumber As String = "090-1234-5678"
Dim formattedNumber As String = phoneNumber.Replace("-", "")
'結果: formattedNumber = "09012345678"
'実践例: CSVデータの引用符処理
Dim csvField As String = "This is a ""quoted"" text"
Dim escapedField As String = csvField.Replace("""", """""") '引用符を二重にエスケープ
'結果: escapedField = "This is a """"quoted"""" text"
文字列を分割 | Split
Split(区切り文字 [, StringSplitOptions])
:指定した区切り文字で文字列を分割し、文字列の配列を返します。
Splitメソッドは、文字列を指定した区切り文字で分割して配列にします。
これはCSVデータの解析や、区切り文字を含むテキストの処理に非常に便利です。
基本的には区切り文字1つを指定します。複数の区切り文字を使いたい場合は、文字の配列を指定します。
オプションのStringSplitOptionsパラメータを使うと、空の要素(区切り文字が連続する場合など)を結果から除外できます。
- StringSplitOptions.None:空の要素も含める(デフォルト)
- StringSplitOptions.RemoveEmptyEntries:空の要素を除外する
よく使われるケース:
- CSVデータの各フィールドへの分割
- スペース区切りのテキストの解析
- 文字列をトークン(意味のある単位)に分割
'使用例と結果
"A,B,C,D".Split(","c) → {"A", "B", "C", "D"} (カンマで分割)
"りんご|バナナ|みかん".Split("|"c) → {"りんご", "バナナ", "みかん"}
"2023/04/01".Split("/"c) → {"2023", "04", "01"} (日付を分割)
"山田 太郎".Split(" "c) → {"山田", "太郎"} (空白で分割)
'複数の区切り文字を指定する場合
"apple;banana,orange".Split(New Char() {";"c, ","c}) → {"apple", "banana", "orange"}
'空の要素を除外する場合
"A,,B,C,,".Split(","c) → {"A", "", "B", "C", "", ""} (空要素を含む)
"A,,B,C,,".Split(","c, StringSplitOptions.RemoveEmptyEntries) → {"A", "B", "C"} (空要素を除外)
'実践例: CSVデータの処理
Dim csvLine As String = "田中太郎,30,東京都,営業部"
Dim fields As String() = csvLine.Split(","c)
'結果: fields(0) = "田中太郎", fields(1) = "30", fields(2) = "東京都", fields(3) = "営業部"
'実践例: 全角スペースと半角スペースの両方で分割
Dim text As String = "山田 太郎 様" '全角スペースと半角スペースが混在
Dim parts As String() = text.Split(New Char() {" "c, " "c})
'結果: parts = {"山田", "太郎", "様"}
区切り文字の後に「c」を付ける(例:”,”c)のは、VB.NETで文字(Char型)を表すための記法です。文字列ではなく、単一の文字として扱うための指定です。
指定文字列で始まるか確認 | StartsWith
StartsWith(確認する先頭文字列 [, StringComparison比較オプション])
:文字列が指定した文字列で始まるかを確認し、Trueまたはfalseで返します。
StartsWithメソッドは、文字列が特定の文字や単語で始まっているかどうかをチェックします。
EndsWithの逆で、文字列の先頭部分をテストします。
大文字と小文字を区別します。大文字小文字を区別せずに確認したい場合は、2つめの引数に「StringComparison.OrdinalIgnoreCase」を指定します。
以下のような多くの実用的なケースで役立ちます。
- プレフィックスのチェック(例:ファイル名が特定の文字で始まるか)
- カテゴリ判定(例:製品コードの先頭文字でタイプを判定)
- フィルタリング(例:特定の文字で始まる項目だけを抽出)
'使用例と結果
"UiPath".StartsWith("Ui") → True
"UiPath".StartsWith("ui") → False (大文字小文字は区別される)
"UiPath".StartsWith("ui", StringComparison.OrdinalIgnoreCase) → True (大文字小文字を区別しない)
"info@example.com".StartsWith("info") → True
"山田太郎".StartsWith("山田") → True
"山田太郎".StartsWith("太郎") → False
'実践例: ファイルの種類を判別
Dim fileName As String = "IMG_0001.jpg"
Dim isImageFile As Boolean = fileName.StartsWith("IMG")
'結果: isImageFile = True
'実践例: 電話番号の種類を判別
Dim phoneNumber As String = "080-1234-5678"
Dim isMobilePhone As Boolean = phoneNumber.StartsWith("080") OrElse
phoneNumber.StartsWith("090") OrElse
phoneNumber.StartsWith("070")
'結果: isMobilePhone = True
部分文字列を取得 | Substring
Substring(開始位置 [, 取得する文字数])
:文字列の一部を取得します。
Substringメソッドは、文字列の特定の部分だけを切り出すために使います。とても頻繁に使用される重要なメソッドです。
2つの使い方があります。
Substring(開始位置)
:指定した位置から文字列の最後までを取得Substring(開始位置, 取得する文字数)
:指定した位置から指定した文字数だけ取得
位置(インデックス)は0から数えることに注意してください。文字列の最初の文字の位置は0、2番目の文字の位置は1です。
指定した範囲が文字列の長さを超える場合はエラーになるので注意が必要です。事前にLengthプロパティで長さをチェックするとよいでしょう。
このメソッドは以下のようなケースで頻繁に使われます。
- 文字列から必要な部分だけを抽出
- データの分割(IndexOfと組み合わせて使うことが多い)
- 長い文字列の省略表示
'使用例と結果
"UiPath Automation".Substring(7) → "Automation" (7番目から最後まで)
"UiPath Automation".Substring(0, 6) → "UiPath" (0番目から6文字)
"山田太郎".Substring(2) → "太郎" (2番目から最後まで)
"user@example.com".Substring(0, 4) → "user" (ユーザー名部分を抽出)
'実践例: メールアドレスからユーザー名とドメインを分離
Dim email As String = "user@example.com"
Dim atPosition As Integer = email.IndexOf("@")
Dim username As String = email.Substring(0, atPosition)
Dim domain As String = email.Substring(atPosition + 1)
'結果: username = "user", domain = "example.com"
'実践例: 長い文字列を省略表示(省略記号付き)
Dim longText As String = "これは非常に長いテキストで全部表示しきれません"
Dim maxLength As Integer = 10
Dim displayText As String
If longText.Length <= maxLength Then
displayText = longText
Else
displayText = longText.Substring(0, maxLength) & "..."
End If
'結果: displayText = "これは非常に長い..."
小文字に変換 | ToLower
ToLower()
:すべての文字を小文字に変換します。
ToLowerメソッドは、文字列内のすべてのアルファベット(A-Z)を小文字(a-z)に変換します。
数字や日本語など、アルファベット以外の文字は変化しません。
主な用途としては以下のようなものがあります。
- 大文字小文字を区別せずに文字列の比較や検索を行う
- 入力データの標準化(例:メールアドレスをすべて小文字に揃える)
- 表示の統一(例:すべて小文字で表示する仕様の場合)
'使用例と結果
"UiPath".ToLower() → "uipath" (すべて小文字に)
"HELLO WORLD".ToLower() → "hello world"
"AbCdEf".ToLower() → "abcdef"
"UiPath123".ToLower() → "uipath123" (数字は変化しない)
"こんにちは UiPath".ToLower() → "こんにちは uipath" (日本語は変化しない)
'実践例: 大文字小文字を区別せずに検索
Dim text As String = "UiPathは業務自動化ツールです"
Dim searchWord As String = "uipath"
Dim containsWord As Boolean = text.ToLower().Contains(searchWord.ToLower())
'結果: containsWord = True
'実践例: メールアドレスの標準化
Dim email1 As String = "User@Example.com"
Dim email2 As String = "user@example.com"
Dim normalizedEmail1 As String = email1.ToLower()
Dim normalizedEmail2 As String = email2.ToLower()
'結果: どちらも "user@example.com" になり、比較可能になる
大文字に変換 | ToUpper
ToUpper()
:すべての文字を大文字に変換します。
ToUpperメソッドは、文字列内のすべてのアルファベット(a-z)を大文字(A-Z)に変換します。
数字や日本語などのアルファベット以外の文字は変化しません。
主な用途としては以下のようなものがあります。
- 大文字小文字を区別せずに文字列の比較や検索を行う(ToLowerと同様)
- データの標準化(例:製品コードをすべて大文字で管理)
- 強調表示(例:見出しやタイトルをすべて大文字で表示)
'使用例と結果
"UiPath".ToUpper() → "UIPATH" (すべて大文字に)
"hello world".ToUpper() → "HELLO WORLD"
"AbCdEf".ToUpper() → "ABCDEF"
"code-123".ToUpper() → "CODE-123" (数字や記号は変化しない)
"こんにちは uipath".ToUpper() → "こんにちは UIPATH" (日本語は変化しない)
'実践例: 製品コードの標準化
Dim productCode As String = "abc-123"
Dim standardizedCode As String = productCode.ToUpper()
'結果: standardizedCode = "ABC-123"
'実践例: ヘッダーの作成
Dim title As String = "monthly report"
Dim headerTitle As String = title.ToUpper()
'結果: headerTitle = "MONTHLY REPORT" (より目立つ見出しになる)
前後の空白を削除 | Trim
Trim([削除する文字の配列])
:文字列の前後の空白や指定した文字を削除します。
Trimメソッドは、文字列の先頭と末尾にある空白(スペース、タブ、改行など)を削除します。
オプションで、削除対象とする文字を指定することもできます。
使い方は主に2つです。
Trim()
:前後の空白文字を削除Trim(文字配列)
:前後の指定した文字を削除
このメソッドは、ユーザー入力のクリーニングや、データ処理の前処理として非常によく使われます。
ユーザーが誤って入力した空白や、データソースに含まれる余分な空白を取り除くのに役立ちます。
文字列の途中にある空白は削除されないことに注意してください。前後の空白だけが対象です。
Trimは先頭と末尾の両方を処理しますが、先頭だけを処理するTrimStartや末尾だけを処理するTrimEndもあります。
よく使われるケース:
- ユーザー入力の前処理(余分な空白の削除)
- インポートしたデータのクリーニング
- 検索キーワードの正規化
- 文字列比較前の前処理
'使用例と結果
" UiPath ".Trim() → "UiPath" (前後の空白が削除される)
" こんにちは ".Trim() → "こんにちは" (全角スペースも削除)
"###UiPath###".Trim('#'c) → "UiPath" (#記号を削除)
"-=UiPath=-".Trim(New Char() {"-"c, "="c}) → "UiPath" (-と=を削除)
'文字列の途中の空白は削除されない
"Hello World".Trim() → "Hello World" (中間の空白はそのまま)
'実践例: ユーザー入力のクリーニング
Dim userInput As String = " example@gmail.com "
Dim cleanEmail As String = userInput.Trim()
'結果: cleanEmail = "example@gmail.com"
'実践例: CSVデータのクリーニング
Dim csvField As String = " 山田太郎 "
Dim cleanName As String = csvField.Trim()
'結果: cleanName = "山田太郎"
末尾の空白を削除 | TrimEnd
TrimEnd([削除する文字の配列])
:文字列の末尾の空白や指定した文字を削除します。
TrimEndメソッドはTrimと違って、文字列の末尾だけを処理します。先頭部分はそのまま残ります。
使い方は主に2つです。
TrimEnd()
:末尾の空白文字を削除TrimEnd(文字配列)
:末尾の指定した文字を削除
このメソッドは、特定の末尾パターンを削除したい場合に便利です。
例えば、ファイルパスの末尾のスラッシュやバックスラッシュを削除したり、数値の末尾のゼロを削除したりするのに役立ちます。
よく使われるケース:
- ファイルパスの正規化(末尾のスラッシュを削除)
- テキストの末尾にある特定のパターンを削除
- 入力データの標準化
'使用例と結果
"UiPath ".TrimEnd() → "UiPath" (後ろの空白だけ削除)
"UiPath...".TrimEnd('.'c) → "UiPath" (後ろのピリオドを削除)
"C:\Folder\".TrimEnd('\'c) → "C:\Folder" (末尾のバックスラッシュを削除)
"山田太郎さん".TrimEnd("さん"c) → "山田太郎" (末尾の「さん」を削除)
'先頭の文字は削除されない
" UiPath ".TrimEnd() → " UiPath" (前の空白はそのまま)
'実践例: ファイルパスの正規化
Dim folderPath As String = "C:\Documents\Reports\"
Dim normalizedPath As String = folderPath.TrimEnd('\'c)
'結果: normalizedPath = "C:\Documents\Reports"
'実践例: 数値の末尾のゼロを削除
Dim number As String = "1200.00"
Dim trimmedNumber As String = number.TrimEnd('0'c).TrimEnd('.'c)
'結果: trimmedNumber = "1200" (末尾の.00が削除される)
先頭の空白を削除 | TrimStart
TrimStart([削除する文字の配列])
:文字列の先頭の空白や指定した文字を削除します。
TrimStartメソッドはTrimと違って、文字列の先頭だけを処理します。末尾部分はそのまま残ります。
使い方は主に2つです。
TrimStart()
:先頭の空白文字を削除TrimStart(文字配列)
:先頭の指定した文字を削除
このメソッドは、特定の先頭パターンを削除したい場合に便利です。
例えば、数値の先頭のゼロを削除したり、テキストの先頭にある特殊文字や記号を削除したりするのに役立ちます。
元の文字列は変更されず、削除後の新しい文字列が返されます。
よく使われるケース:
- 数値の先頭のゼロを削除
- テキストの先頭にある特定のプレフィックスを削除
- 入力データの標準化
'使用例と結果
" UiPath".TrimStart() → "UiPath" (前の空白だけ削除)
"00042".TrimStart('0'c) → "42" (前のゼロを削除)
"###重要###".TrimStart('#'c) → "重要###" (前の#記号を削除)
"様山田太郎".TrimStart("様"c) → "山田太郎" (先頭の「様」を削除)
'末尾の文字は削除されない
" UiPath ".TrimStart() → "UiPath " (後ろの空白はそのまま)
'実践例: 数値の先頭のゼロを削除
Dim code As String = "000123"
Dim normalizedCode As String = code.TrimStart('0'c)
'結果: normalizedCode = "123"
'実践例: テキストのプレフィックスを削除
Dim message As String = "RE: 会議の件について"
Dim subject As String = message.TrimStart("RE: "c)
'結果: subject = "会議の件について"
まとめ
UiPathで文字列を扱う際には、これらのメソッドを使うことで簡単かつ効率的に文字列操作ができます。
引数を理解して適切に使い分けることで、RPAのワークフローをより効率的に構築できます。
初心者の方におすすめの基本メソッド
Contains
– 文字が含まれているかを確認する基本的な方法Replace
– 文字列の一部を別の文字列に置き換える万能メソッドSplit
– CSVやテキストデータを分割する時に必須Trim
– 余計な空白を削除してデータを整形する基本テクニックSubstring
– 必要な部分だけを切り出す便利なメソッド
これらのメソッドを組み合わせることで、テキスト処理をスムーズに自動化できます。
コメント