「n文字以上なら、n文字にする」方法を教えてください

「文字数が6文字以上あれば、6文字以降は削除する」を行いたいです。

読み込むデータは、6文字以下もあり、6文字以上もあります。

代入アクティビティの右辺値に
row(“name”).ToString.Remove(6)
と設定してみましたが
「startIndex には文字列の長さより小さい値を指定してください。」
と、エラーが出ます。

6文字以下のデータもあるため、だと思います。

一度、6文字以上のみを抽出してから
6文字以内に成形するしかないでしょうか?

よろしくおねがいします。

こんにちは

やり方はいろいろありそうですが、取り急ぎ2つほど

String.Join("",yourString.Take(6))

System.Text.RegularExpressions.Regex.Match(yourString,"^.{1,6}").Value
1 Like

条件分岐で文字数が6文字以上か判定してから、処理すればエラーにならないです。
(文字数とインデックス番号の違いにご注意ください。)

1 Like

チープなやり方。

対象変数に6文字の空白を繋げて
substringで0,6を切り取り、
trimする…

1 Like

Left(row("name").ToString, 6) とすると、row("name").ToString の文字列の「先頭から6文字」が取れるかと思います。

2 Likes

ありがとうございます!

教えていただいた方法で上手くできました! :laughing:

2 Likes

おぉ!同様に、

Strings.Right(“12345678”,2)

Rightもあるんですね!φ(…)メモメモ

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.