一つの変数に対し複数のTrimを使いたい

studio

#1

基本的で的外れな質問になるかもしれませんが、質問させてください。

ClickのTargetでRead RangeとOutputDataTableで取得した変数「cell(3)」という変数から、
改行(vbCrLf) と 空白( ) を取り除きたいのですが、
改行だけのTrimはできても、両方とも取り除く方法、記載方法がわかりません。

Assign で cell(3) ⇒ cell(3).Trim() と記載し、
cell(3)をWrite Lineで確認しても、空白の入った値が出力されてしまいます。
ClickアクティビティのSelecterに cell(3).Trim(vbCrLf.ToCharArray()).Trim() と記載しても、
改行の取り除きはうまくいきますが、空白行がうまく取り除けません。

どのように記載すべきか、どのように設定すべきか、お教えいただけますと幸いです。
不足情報などございましたらお知らせください。

以上、宜しくお願い致します。


#2

すみません。どうやらRead RangeとOutputDataTableで取得した変数「cell(3)」という変数に、
Trim() を使用しても空白が取り除けていないことがわかりました。

DataTable化した値に対して、Trim等の処理を加えることはそもそもできないのでしょうか。


#3

変数cellというのはDataRow型ですか?

Trimは文字列の前後から空白や改行コードを削除しますので
cell(3) = cell(3).Trim()でできるはずなんですけどね

何をやろうとしてるのか私が読みきれてない可能性が高いですが
文字列の中に含まれてる空白を取り除きたいとかでしょうか?


#4

SUZUKI_Yasuharu様

ご回答ありがとうございます!
すみません。Variable TypeはDataTableなので、多分DataTable型だと思われます…。

説明が下手で申し訳ございません。
変数「cell(3)」の値の中のスペースを取り除きたいです。

田中 太郎
↑上記だとすると田中のあとの空白を取り除きたいです。

以上、宜しくお願い致します。


#5

Trimは両端のスペースを取り除くだけなので、真ん中のスペースも除去するなら、Replaceを使う必要があります。
書式は、

  String型変数.Replace(置換前, 置換後)

です。

今回のようなケースだと

  cell(3).ToString().Replace(" ", string.Empty)

で、スペースが除去できます。これをAssignや書き込む値として使ってみてください。

削除対象が改行文字やタブも、であればReplaceメソッドを繋げて、

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

みたいな書き方も可能です。


#6

Honoka様

ご連絡遅くなり申し訳ありません。
頂きました方法で空欄を削除した値で各タスクに設定することができ、
複数Replaceを設定する書き方も理解しました。
おかげ様で解決いたしました。

ご回答くださいまして、ほんとうにありがとうございました!!