2文字以上の空白を含む文字列
UiPathでの文字列操作は専用のアクティビティを使うケースもあれば、VBのコードを使うこともある。私が特定の文字列を分割しようとしたがうまくいかなかった。例えば以下のような例
"名前 身長 体重 備考 "
これを各文字列ごとに分割したい
"名前" "身長" "体重" "備考"
よくあるアプローチ
trim
str.trim
str.trimを使うと前後の空白は除くことができるが中間の空白は省くことができない。
"名前 身長 体重 備考"
split
str.split(" ")
str.split(" ")を使うと途中の空白も分割されてしまう。
"名前" " " " " "身長" "体重" " " "備考"
実装例
いろいろ調べたがよい方法が見つからなかったのでロジックを組んだまずは空白が2文字つづくケースが存在するか判定する
str.Contains(" ")
空白が2文字を続く文字列を空白1文字に変換する
str.Replace(" ", " ")
"名前 身長 体重 備考 "
これをこれを行えば連続する空白を1文字の空白に変えることができた。
終わってみれば簡単だったが、2時間くらい調べてしまった。
この後によく使うSplitを入れ込むことで文字列を分割できる。
item.Split(CChar(" "))
"名前" "身長" "体重" "備考"
もし、コードで一発で出来るような方法があれば是非おしえてください。