[Dart / Flutter]文字列の前後の空白を取り除く trim()

Dartの文字列処理で非常に役立つのが、trim()メソッドです。文字列の先頭や末尾に存在する余計な空白やタブを取り除くことができます。

文法・構文形式

str.trim()

  • str: 対象の文字列

trim() メソッドは、指定された文字列の前後から以下のASCII空白文字を取り除きます。

  • 半角スペース (' ')
  • タブ (\t)
  • 改行 (\n)
  • キャリッジリターン (\r)
  • フォームフィード (\f)
  • 垂直タブ (\v)

ただし、全角スペースやその他のUnicode空白文字はこのメソッドの対象外です。

利用場面

  • ユーザーからの入力を処理する際、前後の不要な空白を取り除きたいとき。
  • データベースから取得した情報が先頭や末尾に不要な空白を含む場合。
  • CSVやテキストファイルの内容を解析して、不要なスペースを排除するとき。

単純なスペースの削除

前後の半角スペースを削除する。

// 単純なスペースの取り除き
var simpleString = ' Hello World ';
print(simpleString.trim());  // 出力: "Hello World"

連続した改行やタブを含む文字列の削除

trim()は、前後の複数連続した空白文字も削除できます。

var stringWithTabsAndNewlines = '\n\tHello Dart\t\n';
print(stringWithTabsAndNewlines.trim());  // 出力: "Hello Dart"

全角スペースは対象外

全角スペースは削除できません。

var stringWithFullWidthSpaces = ' Hello ';
print(stringWithFullWidthSpaces.trim());  // 出力: " Hello "  ※全角スペースは取り除かれない

メリット
  • 簡単に文字列の前後の空白を取り除くことができる。
  • 不要なスペースによるエラーやミスのリスクを低減できる。
デメリット
  • 全角スペースやその他の非ASCIIの空白文字を取り除くことはできない。
  • 文字列内部の空白はそのままで、前後の空白のみが削除されることを理解する必要がある。