【Flutter/Dart】Stringの使い方|プロパティ・メソッドまとめ

Stringクラスの「チートシート」です。

Stringクラスの主なプロパティ・メソッドをまとめました。

\ 世界最大級のオンライン学習サービス /

目次

主なプロパティ一覧

概要プロパティ名
文字列がNullか判別isEmpty
文字列の長さを数えるlength

isEmpty

String language = 'Dart';
print(language.isEmpty);

//結果
//false

isEmptyプロパティは文字列がNull(空)の場合は「true」、Nullでない場合は「false」を返します。

length

String language = 'Dart';
print(language.length);

//結果
//4

lengthプロパティで文字列の長さを数えられます。

主なメソッド一覧

概要メソッド名
2つの文字列を比較compareTo
指定した文字列が含まれているか判定contains
文字列のPrefixが指定値と同じか判定startsWith
文字列のSuffixが指定値と同じか判定endsWith
指定した文字列がインデックスの何番目かチェックindexOf
指定した文字列が最後から何番目かチェックlastIndexOf
指定した文字列を一括置換replaceAll
指定した文字列を置換replaceFirst
文字列の特定の範囲を置換replaceRange
文字列を切り出すsubstring
文字列を指定した区切り文字で分割split
文字列を全て小文字に変換toLowerCase
文字列を全て大文字に変換toUpperCase
文字列から左右の空白を削除trim
文字列から左側の空白を削除trimLeft
文字列から右側の空白を削除trimRight

compareTo

var relation = 'Dart'.compareTo('Go');
print(relation);

relation = 'Go'.compareTo('Game');
print(relation);

relation = 'Dart'.compareTo('Dart');
print(relation);

//結果
//-1
//1
//0

compareToメソッド(A.compareTo(B))は下記のように文字列を比較します。

  • AがBよりも手前に来る場合は「-1」を返します。
  • BがAよりも手前に来る場合は「1」を返します。
  • AとBが等しい時は「0」を返します。

contains

String string = 'Dart strings';
print(string.contains('D'));
print(string.contains(RegExp(r'[A-Z]')));

//結果
//true
//true

containsメソッドでは指定した文字列が含まれている場合は「true」、含まれていない場合は「false」を返します。

startsWith

String string1 = 'Dart';
String string2 = 'Hello World';

print(string1.startsWith('D'));
print(string2.startsWith('World'));

//結果
//true
//false

startsWithメソッドでは指定した値が文字列のPrefixと同じ場合は「true」、異なる場合は「false」を返します。

endsWith

String string1 = 'Dart';
String string2 = 'Hello World';

print(string1.endsWith('D'));
print(string2.endsWith('World'));

//結果
//false
//true

endsWithメソッドでは指定した値が文字列のSuffixと同じ場合は「true」、異なる場合は「false」を返します。

indexOf

String string = 'Dartisans';
print(string.indexOf('art'));
print(string.indexOf('Go'));

//結果
//1
//-1

indexOfメソッドでは指定した文字列が含まれている場合は「開始インデックス」、含まれていない場合は「-1」を返します。

lastIndexOf

String string = 'Dart Dart';
print(string.lastIndexOf('art'));
print(string.lastIndexOf('Go'));

//結果
//6
//-1

lastIndexOfメソッドでは指定した文字列が含まれているかインデックスの最後からチェックしていき、含まれている場合は「開始インデックス」、含まれていない場合は「-1」を返します。

replaceAll

String string = 'banana';
print(string.replaceAll('a', 'n'));
print(string.replaceAll('an', 'n'));

//結果
//bnnnnn
//bnna

replaceAllメソッドで指定した文字列を一括置換するには第一引数に「置換対象となる文字列」、第二引数に「置換後の文字列」を渡します。

replaceFirst

String string = '0.0000';
print(string.replaceFirst('0', '7'));

//結果
//7.0000

replaceFirstメソッドで指定した文字列を一括置換するには第一引数に「置換対象となる文字列」、第二引数に「置換後の文字列」を渡します。

replaceRange

String string = 'Dart is fun';
String result = string.replaceRange(5, 7, 'and Flutter are');
print(result);

//結果
//Dart and Flutter are fun

replaceRangeメソッドでは第一引数に「置換の開始インデックス」、第二引数に「置換の終了インデックス」、第三引数に「置換後の文字列」を渡します。

substring

String string = 'Dart is fun';
String result = string.substring(0, 4);
print(result);

//結果
//Dart

substringメソッドの第一引数に「開始インデックス」、第二引数に「終了インデックス」を指定し、指定範囲の文字列を切り出します。

split

var string = 'Dart is fun';
var result = string.split(' ');
print(result);

//結果
//[Dart, is, fun]

splitメソッドに「区切り文字」引数に渡すことで文字列を分割し、リスト化できます。

区切り文字はリストでは省略されます。

toUpperCase

String string = 'Dart';
String result = string.toUpperCase();
print(result);

//結果
//DART

toUpperCaseメソッドの引数に大文字に変換したい文字列を渡します。

既に全て大文字の場合は、そのまま渡した文字列を返します。

toLowerCase

String string = 'Dart';
String result = string.toLowerCase();
print(result);

//結果
//dart

toLowerCaseメソッドの引数に小文字に変換したい文字列を渡します。

既に全て小文字の場合は、そのまま渡した文字列を返します。

trim

String string = ' Dart ';
print(string.length);

String result = string.trim();
print(result);
print(result.length);

//結果
//6
//Dart
//4

trimメソッドに左右の空白を削除したい文字列を渡します。

trimLeft

String string = ' Dart ';
String result = string.trimLeft();
print(result);

//結果
//Dart 

文字列から左側のみの空白を削除したい場合は「trimLeftメソッド」を使用します。

trimRight

String string = ' Dart ';
String result = string.trimRight();
print(result);

//結果
// Dart

文字列から右側のみの空白を削除したい場合は「trimRightメソッド」を使用します。

  • URLをコピーしました!
目次