🔖
Flutter/Dart Stringチートシート
Stringチートシート
String型は、オブジェクト指向型のどんなプログラミング言語にでも存在しますが、便利なプロパティやメソッドがたくさんあり、毎回調べているとコストがかかるため、まとめました。
1. はじめに
開発環境は、下記のとおりです。
カテゴリ | Ver. |
---|---|
Flutter | 2.2.0 |
Dart | 2.13.0 |
2. チートシート
よく使いそうなプロパティやメソッドをご紹介します。
カテゴリ | プロパティ/メソッド名 |
---|---|
文字列が空かチェックする | isEmpty |
文字列が空以外かチェックする | isNotEmpty |
文字数を取得する | length |
文字列を日時(DateTime)に変換する | parse |
文字列を区切り文字で分割する | split |
文字列を置換する | replaceAll |
文字列の一部を取得する | substring |
文字列のPrefixを調べる | startsWith |
文字列のSuffixを調べる | endsWith |
文字列から空白を削除する | trim / trimLeft / trimRight |
文字列から日付型に変換する | DateFormat('日付の書式').parseStrict('文字列') |
【番外】文字列を数値に変換する | int.parse('文字列') |
【番外】文字列をURLエンコードする | Uri.encodeQueryComponent('文字列') |
3.使い方
3.1. 文字列が空かチェックする (isEmpty)
var str = '';
print(str.isEmpty); // true
3.2. 文字列が空以外かチェックする (isNotEmpty)
var str = '';
print(str.isNotEmpty); //false
3.3. 文字数を取得する (length)
var strEn = 'Flutter';
print(strEn.length); // 7
3.4. 文字列を日時(DateTime)に変換する(parse)
String now = '2021-10-10 12:12';
DateTime toDate = DateTime.parse(now);
print(toDate); //2021-10-10 12:12:00.000
print(toDate is DateTime); //true
3.5. 文字列を区切り文字で分割する (split)
var str = 'Flutter Dart String';
var strList = str.split(' ');
print(strList); // [Flutter, Dart, String]
3.6. 文字列を置換する (replaceAll)
var fromStr = 'Flutter Dart String';
var toStr = fromStr.replaceAll(' ', '★');
print(toStr); //Flutter★Dart★String
3.7. 文字列の一部を取得する (substring)
var fromStr = 'Flutter Dart String';
var toStr = fromStr.substring(8);
var toStr2 = fromStr.substring(8, 12);
print(toStr); // Dart String
print(toStr2); // Dart
3.8. 文字列のPrefixを調べる(startsWith)
var str = 'Flutter Dart String';
var str2 = 'Dart String';
print(str.startsWith('Flutter')); // true
print(str2.startsWith('Flutter')); // false
3.9. 文字列のSuffixを調べる(endsWith)
var str = 'Flutter Dart String';
var str2 = 'String Dart Flutter';
print(str.endsWith('String'));
print(str2.endsWith('String'));
3.10. 文字列から空白を削除する(trim / trimLeft / trimRight)
var str = ' Flutter Dart String ';
print(str.trim()); //Flutter Dart String
print(str.trimLeft()); //Flutter Dart String
print(str.trimRight()); // Flutter Dart String
print(str.trim().length); // 19
print(str.trimLeft().length); //20
print(str.trimRight().length); //20
3.11. 文字列から日付型に変換する(DateFormat.parseStrict)
var dateTimeStr = '2022年1月1日';
final DateTime dateTime =
DateFormat("yyyy年MM月dd日").parseStrict(dateTimeStr);
print(dateTime); //2022-01-01 00:00:00.000
3.12. 文字列を数値に変換する (int.parse)
var str1 = '123'; // 半角
var str2 = '123'; // 全角
var str3 = 'あいおうえ';
try {
print(int.parse(str1));
print(int.parse(str2)); // Invalid radix-10 number (at character 1)
print(int.parse(str3)); // Invalid radix-10 number (at character 1)
} on Exception catch (e) {
print(e.toString());
}
3.13. 文字列をURLエンコードする(Uri.encodeQueryComponent)
String urlString = 'https://hogehoge.com/詳細ページ';
final url = Uri.encodeQueryComponent(urlString);
final originalURL = Uri.decodeComponent(url);
print(url); // https%3A%2F%2Fhogehoge.com%2F%E8%A9%B3%E7%B4%B0%E3%83%9A%E3%83%BC%E3%82%B8
print(originalURL); //https://hogehoge.com/詳細ページ
4. 公式ドキュメント
もっと知りたい方は、Dartで用意されているプロパティやメソッドは、公式サイトに纏められています。
是非御覧ください。
Discussion