推荐答案
在 Dart 中,String
类提供了许多常用的方法来操作字符串。以下是一些常用的方法:
length
: 获取字符串的长度。String str = "Hello"; print(str.length); // 输出: 5
isEmpty
: 判断字符串是否为空。String str = ""; print(str.isEmpty); // 输出: true
isNotEmpty
: 判断字符串是否不为空。String str = "Hello"; print(str.isNotEmpty); // 输出: true
toUpperCase()
: 将字符串转换为大写。String str = "hello"; print(str.toUpperCase()); // 输出: HELLO
toLowerCase()
: 将字符串转换为小写。String str = "HELLO"; print(str.toLowerCase()); // 输出: hello
trim()
: 去除字符串两端的空白字符。String str = " hello "; print(str.trim()); // 输出: hello
substring(startIndex, [endIndex])
: 获取字符串的子串。String str = "Hello World"; print(str.substring(6)); // 输出: World print(str.substring(0, 5)); // 输出: Hello
split(pattern)
: 根据指定的模式分割字符串。String str = "apple,banana,orange"; print(str.split(",")); // 输出: [apple, banana, orange]
replaceAll(pattern, replacement)
: 替换字符串中所有匹配的子串。String str = "Hello World"; print(str.replaceAll("World", "Dart")); // 输出: Hello Dart
contains(pattern)
: 判断字符串是否包含指定的子串。String str = "Hello World"; print(str.contains("World")); // 输出: true
indexOf(pattern)
: 返回指定子串在字符串中首次出现的位置。String str = "Hello World"; print(str.indexOf("World")); // 输出: 6
startsWith(pattern)
: 判断字符串是否以指定的子串开头。String str = "Hello World"; print(str.startsWith("Hello")); // 输出: true
endsWith(pattern)
: 判断字符串是否以指定的子串结尾。String str = "Hello World"; print(str.endsWith("World")); // 输出: true
compareTo(other)
: 比较两个字符串的顺序。String str1 = "apple"; String str2 = "banana"; print(str1.compareTo(str2)); // 输出: -1
padLeft(width, [padding])
: 在字符串左侧填充指定字符,直到达到指定长度。String str = "5"; print(str.padLeft(3, '0')); // 输出: 005
padRight(width, [padding])
: 在字符串右侧填充指定字符,直到达到指定长度。String str = "5"; print(str.padRight(3, '0')); // 输出: 500
codeUnitAt(index)
: 返回指定索引处字符的 UTF-16 编码单元。String str = "Hello"; print(str.codeUnitAt(1)); // 输出: 101
runes
: 返回字符串的 Unicode 码点迭代器。String str = "👋"; print(str.runes.toList()); // 输出: [128075]
allMatches(pattern)
: 返回所有匹配指定模式的子串的迭代器。String str = "Hello World"; print(str.allMatches("o").length); // 输出: 2
replaceFirst(pattern, replacement)
: 替换字符串中第一个匹配的子串。String str = "Hello World"; print(str.replaceFirst("o", "a")); // 输出: Hella World
本题详细解读
在 Dart 中,String
是一个不可变的对象,意味着一旦创建就不能更改。Dart 提供了丰富的字符串操作方法,使得开发者可以方便地处理字符串数据。
length
: 这是一个属性,用于获取字符串的长度。字符串的长度是指字符串中字符的数量。isEmpty
和isNotEmpty
: 这两个方法用于判断字符串是否为空或不为空。isEmpty
返回true
如果字符串长度为 0,否则返回false
。isNotEmpty
则相反。toUpperCase()
和toLowerCase()
: 这两个方法分别用于将字符串转换为大写和小写。它们返回一个新的字符串,原字符串不会被修改。trim()
: 这个方法用于去除字符串两端的空白字符(包括空格、制表符、换行符等)。返回一个新的字符串,原字符串不会被修改。substring(startIndex, [endIndex])
: 这个方法用于获取字符串的子串。startIndex
是子串的起始位置,endIndex
是子串的结束位置(可选)。如果省略endIndex
,则子串从startIndex
开始到字符串末尾。split(pattern)
: 这个方法用于根据指定的模式分割字符串。返回一个包含分割后子串的列表。replaceAll(pattern, replacement)
: 这个方法用于替换字符串中所有匹配的子串。pattern
是要匹配的子串或正则表达式,replacement
是替换的内容。contains(pattern)
: 这个方法用于判断字符串是否包含指定的子串。返回true
如果包含,否则返回false
。indexOf(pattern)
: 这个方法用于返回指定子串在字符串中首次出现的位置。如果未找到,则返回-1
。startsWith(pattern)
和endsWith(pattern)
: 这两个方法分别用于判断字符串是否以指定的子串开头或结尾。返回true
如果匹配,否则返回false
。compareTo(other)
: 这个方法用于比较两个字符串的顺序。返回一个整数,表示两个字符串的字典顺序。如果当前字符串小于other
,则返回负数;如果相等,则返回 0;如果大于,则返回正数。padLeft(width, [padding])
和padRight(width, [padding])
: 这两个方法分别用于在字符串的左侧或右侧填充指定字符,直到达到指定长度。width
是填充后的总长度,padding
是填充字符(默认为空格)。codeUnitAt(index)
: 这个方法用于返回指定索引处字符的 UTF-16 编码单元。index
是字符的索引位置。runes
: 这是一个属性,返回字符串的 Unicode 码点迭代器。可以用于处理包含多字节字符的字符串。allMatches(pattern)
: 这个方法用于返回所有匹配指定模式的子串的迭代器。pattern
可以是字符串或正则表达式。replaceFirst(pattern, replacement)
: 这个方法用于替换字符串中第一个匹配的子串。pattern
是要匹配的子串或正则表达式,replacement
是替换的内容。
这些方法涵盖了字符串操作的大部分常见需求,熟练掌握这些方法可以大大提高开发效率。