文字列 – Dart逆引きリファレンス

2012.03.16

文字列(Strings)

「\(バックスラッシュ)」によるエスケープを使わずに生の文字列をリテラル表現したい

文字列リテラルの先頭に「@」を付加します。

var rawString = @'\\\\';
var escapedString = '\\\\\\\\';

rawString == escapedString; // true;

文字列の補間を行いたい

$変数名」もしくは「${変数名}」を使用します。

var face = '`・ω・´';
var serif = 'シャキ';
'($face)${serif}ーン'; // == '(`・ω・´)シャキーン'

{}の中には式を記述することができます。式を評価後の値で補間されます。

文字列の一部を抜き出したい

Stringクラスのオブジェクトが持つ「substring」メソッドを使用します。

String cm = 'クラスメソッド';
cm.substring(0, 2) + cm.substring(3, 5); // == 'クラメソ'

文字列中全ての合致に対して置換を行いたい

Stringクラスのオブジェクトが持つ「replaceAll」メソッドを使用します。

'Dart Language'.replaceAll('a', '@'); // == 'D@rt L@ngu@ge'

文字列中最初の合致に対して置換を行いたい

Stringクラスのオブジェクトが持つ「replaceFirst」メソッドを使用します。

'Dart Language'.replaceFirst('a', '@'); // == 'D@rt Language'

改行を含んだ文字列をリテラルで表現したい

文字列を「'''」で囲みます。「'''」直後および直前の改行は評価されません。

var sarasara = '''
(´・ω・`)

(´・ω:;.:...

(´:;....::;.:. :::;.. .....
''';

文字列を任意の文字列で分割した配列を取得したい

Stringクラスのオブジェクトが持つ「split」メソッドを使用します。

String makers = 'mazda, toyota, subaru, suzuki, nissan, daihatsu, honda';
List individualMakers = makers.split(', ');
// == ["mazda", "toyota", "subaru", "suzuki", "nissan", "daihatsu", "honda"]

文字列が特定の文字列で始まっているかの真偽値を取得したい

Stringクラスのオブジェクトが持つ「startsWith」メソッドを使用します。

'PC-9801'.startsWith('PC-98'); // == true
'PC-9821'.startsWith('PC-98'); // == true
'PC-8801'.startsWith('PC-98'); // == false