Posted at

【UiPath】文字の前後だけじゃなくて、文字列内にある空白も削除したい

文字の前後の空白を削除したい場合はtrimですよね。みなさんご存知かと思います。

でも、trimでは文字のなかにある空白って削除できないですよね。例えば「山田 太郎」は無理です。

困ったなあ。。。

というわけで頑張りました。


文字の中にある空白を削除する

変数nameに山田 太郎が入っているとすると

name.ToString().Replace(" ", string.Empty)

これで、文字列内の空白が削除されます。

結果は山田太郎です。すごい!!

ちなみに、改行やタブとかも削除できるそうです。

その場合はこれ

name.ToString().Replace(" ", string.Empty).Replace(vbTab, string.Empty).Replace(vbLf, string.Empty).Replace(vbCr, string.Empty).Replace(" ", string.Empty)


string.Emptyとは

string.Emptyは「空の文字列」だそうです!

なので、.Replace(" ", string.Empty)というのは、「空白を空の文字列に変換している」つまり、空白を削除しているという意味です。

そして、vBTabがタブであるとかvbLFが改行であるとかはVB.Netで決まっています。

このサイト↓↓をみれば、少し応用できそうですね!

https://dobon.net/vb/dotnet/string/controlchars.html


おわりに

というわけで、文字列内にある空白や改行、タブを削除する方法を学びました。

OCRで文字を取り出すときとかに使えそうですね!

みなさんもぜひ使ってみてください!