欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Dart?String字符串的常用方法總結(jié)概述

 更新時(shí)間:2023年04月28日 08:45:56   作者:早起的年輕人  
這篇文章主要為大家介紹了Dart?String字符串的常用方法概述,總結(jié)整理了大概4000多字,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Flutter中字符串的一些常用方法

1 length :返回字符串的長(zhǎng)度。

length 是一個(gè)返回整數(shù)類(lèi)型的方法,用于獲取一個(gè)字符串的長(zhǎng)度,例如:

String str = "Hello World!";
int length = str.length;
print(length); // 輸出: 12

在這個(gè)例子中, length 的值為12,因?yàn)檫@個(gè)字符串有12個(gè)字符。

2 isEmpty :判斷字符串是否為空。

isEmpty 是一個(gè)返回布爾值的方法,用于判斷一個(gè)字符串是否為空,例如:

String str = "";
bool isEmpty = str.isEmpty;
print(isEmpty); // 輸出: true

在這個(gè)例子中, isEmpty 的值為true,因?yàn)檫@個(gè)字符串是空的。如果字符串不為空,則 isEmpty 的值為false。

isNotEmpty 是一個(gè)返回布爾值的方法,與 isEmpty 相反,用于判斷一個(gè)字符串是否不為空,例如:

String str = "Hello";
bool isNotEmpty = str.isNotEmpty;
print(isNotEmpty); // 輸出: true

在這個(gè)例子中, isNotEmpty 的值為true,因?yàn)檫@個(gè)字符串不為空。如果字符串為空,則 isNotEmpty 的值為false。

3 toUpperCase() :將字符串中所有的小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母。

toUpperCase() 是一個(gè)方法,用于將一個(gè)字符串中所有的小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母,例如:

String str = "Hello World!";
String upperCaseStr = str.toUpperCase();
print(upperCaseStr); // 輸出: HELLO WORLD!

在這個(gè)例子中, toUpperCase() 方法將原字符串中所有的小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母,返回一個(gè)新的字符串 HELLO WORLD! 。原字符串 str 的值并沒(méi)有變化。

4 toLowerCase() :將字符串中所有的大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母。

用于將一個(gè)字符串中所有的大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母,例如:

String str = "Hello World!";
String lowerCaseStr = str.toLowerCase();
print(lowerCaseStr); // 輸出: hello world!

在這個(gè)例子中, toLowerCase() 方法將原字符串中所有的大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母,返回一個(gè)新的字符串 hello world! 。原字符串 str 的值并沒(méi)有變化。

5 startsWith(pattern) :判斷字符串是否以指定的模式(pattern)開(kāi)頭。

用于判斷一個(gè)字符串是否以指定的模式(pattern)開(kāi)頭,返回一個(gè)布爾值。例如:

String str = "Hello World!";
bool startsWithHello = str.startsWith("Hello");
print(startsWithHello); // 輸出: true

在這個(gè)例子中, startsWith("Hello") 方法判斷字符串 str 是否以 "Hello" 開(kāi)頭,返回一個(gè)布爾值 true 。

6 endsWith(pattern) :判斷字符串是否以指定的模式(pattern)結(jié)尾。

用于判斷一個(gè)字符串是否以指定的模式(pattern)結(jié)尾,返回一個(gè)布爾值。例如:

String str = "Hello World!";
bool endsWithWorld = str.endsWith("World!");
print(endsWithWorld); // 輸出: true

在這個(gè)例子中, endsWith("World!") 方法判斷字符串 str 是否以 "World!" 結(jié)尾,返回一個(gè)布爾值 true 。

7 contains(pattern) :判斷字符串是否包含指定的模式(pattern)。

返回一個(gè)布爾值,用于判斷一個(gè)字符串是否包含指定的模式(pattern),例如:

String str = "Hello World!";
bool containsHello = str.contains("Hello");
print(containsHello); // 輸出: true

在這個(gè)例子中, contains("Hello") 方法判斷字符串 str 是否包含 "Hello" 這個(gè)模式,返回一個(gè)布爾值 true 。

8 replaceFirst(oldValue, newValue) :將字符串中第一個(gè)出現(xiàn)的oldValue替換為newValue。

用于將原字符串中第一個(gè)匹配的 oldValue 替換為 newValue ,返回一個(gè)新的字符串。例如:

String str = "Hello World!";
String newStr = str.replaceFirst("World", "Dart");
print(newStr); // 輸出: Hello Dart!

在這個(gè)例子中, replaceFirst("World", "Dart") 方法將原字符串中第一個(gè)匹配的 "World" 替換為 "Dart" ,返回一個(gè)新的字符串 "Hello Dart!" 。原字符串 str 的值并沒(méi)有變化。

9 replaceAll(oldValue, newValue) :將字符串中所有出現(xiàn)的oldValue替換為newValue。

用于將一個(gè)字符串中所有的匹配 oldValue 的部分替換為 newValue ,返回一個(gè)新的字符串。例如:

String str = "Hello World!";
String newStr = str.replaceAll("o", "e");
print(newStr); // 輸出: Helle Werld!

在這個(gè)例子中, replaceAll("o", "e") 方法將原字符串中所有的匹配 "o" 的部分替換為 "e" ,返回一個(gè)新的字符串 "Helle Werld!" 。原字符串 str 的值并沒(méi)有變化。

10 substring(startIndex, endIndex) :截取字符串的一部分,從startIndex開(kāi)始到endIndex結(jié)束。

用于獲取一個(gè)字符串中指定范圍內(nèi)的子串,返回一個(gè)新的字符串。其中, startIndex 表示子串的起始位置(包括該位置的字符), endIndex 表示子串的結(jié)束位置(不包括該位置的字符)。例如:

String str = "Hello World!";
String subStr = str.substring(0, 5);
print(subStr); // 輸出: Hello

在這個(gè)例子中, substring(0, 5) 方法獲取字符串 str 中從位置0開(kāi)始到位置5(不包括位置5)的子串,返回一個(gè)新的字符串 "Hello" 。原字符串 str 的值并沒(méi)有變化。注意, substring 方法包括起始位置,不包括結(jié)束位置。如果省略 endIndex 參數(shù),則方法會(huì)從 startIndex 一直截取到字符串的末尾。

11 split(separator) :將字符串按照指定的分隔符(separator)拆分成一個(gè)字符串?dāng)?shù)組。

將一個(gè)字符串按照指定的分隔符(separator)分割成多個(gè)子字符串,返回一個(gè)字符串列表。例如:

String str = "Hello World!";
List<String> strList = str.split(" ");
print(strList); // 輸出: [Hello, World!]

在這個(gè)例子中, split(" ") 方法將字符串 str 按照空格分隔成兩個(gè)子串 "Hello" 和 "World!" ,組成一個(gè)字符串列表 [Hello, World!] 返回。注意, split() 方法只能接受一個(gè)參數(shù),即分隔符。如果省略 separator 參數(shù),則默認(rèn)按照空格或制表符( \t )進(jìn)行分割。

12 trim() :去掉字符串首尾的空格。

用于去掉一個(gè)字符串兩端的空格(或其他空白字符),返回一個(gè)新的字符串。例如:

String str = "  Hello World!  ";
String newStr = str.trim();
print(newStr); // 輸出: Hello World!

在這個(gè)例子中, trim() 方法去掉字符串 str 兩端的空格,返回一個(gè)新的字符串 "Hello World!" 。原字符串 str 的值并沒(méi)有變化。

13 compareTo(otherString)

比較兩個(gè)字符串的大小,返回一個(gè)整數(shù)值,如果當(dāng)前字符串比otherString小,則返回一個(gè)負(fù)數(shù),如果當(dāng)前字符串比otherString大,則返回一個(gè)正數(shù),如果當(dāng)前字符串和otherString相等,則返回0。 例如:

String str1 = "Hello";
String str2 = "World";
int result = str1.compareTo(str2);
print(result); // 輸出: -15

在這個(gè)例子中, compareTo(str2) 方法比較字符串 str1 和 str2 的字典序,由于字符串 str1 小于字符串 str2 ,因此返回一個(gè)負(fù)數(shù) -15 。

14 codeUnitAt

用于獲取一個(gè)字符串中指定位置的字符的Unicode編碼,返回一個(gè)整數(shù)。其中, index 表示要獲取的字符的位置,從0開(kāi)始。例如:

String str = "Hello";
int codeUnit = str.codeUnitAt(1);
print(codeUnit); // 輸出: 101,對(duì)應(yīng)字符 'e' 的 Unicode 編碼。

在這個(gè)例子中, codeUnitAt(1) 方法獲取字符串 str 中位置為1(即第二個(gè)字符)的字符的Unicode編碼,即字符 'e' 的Unicode編碼 101 (根據(jù)ASCII編碼表)。

15 indexOf

用于查找一個(gè)字符串中是否包含指定的子串。如果包含,則返回該子串在原字符串中第一次出現(xiàn)的位置(從左向右計(jì)數(shù),從0開(kāi)始)。如果不包含,則返回-1。其中, substring 表示要查找的子串, startIndex 表示查找的起始位置(從左向右計(jì)數(shù),從0開(kāi)始),可省略,默認(rèn)為0。例如:

String str = "Hello World!";
int index = str.indexOf("o");
print(index); // 輸出: 4

在這個(gè)例子中, indexOf("o") 方法查找字符串 str 中第一次出現(xiàn)的子串 "o" ,找到后返回其位置4。注意,該方法返回的是子串在原字符串中的位置,不是子串長(zhǎng)度。如果要查找多個(gè)子串,可以在 startIndex 參數(shù)中指定上一次查找結(jié)束的位置。如果子串不存在,則返回-1。

16 lastIndexOf

用于查找一個(gè)字符串中是否包含指定的子串。如果包含,則返回該子串在原字符串中最后一次出現(xiàn)的位置(從右向左計(jì)數(shù),從0開(kāi)始)。如果不包含,則返回-1。其中, substring 表示要查找的子串, startIndex 表示查找的起始位置(從右向左計(jì)數(shù),從0開(kāi)始),可省略,默認(rèn)為字符串末尾。例如:

String str = "Hello World!";
int index = str.lastIndexOf("o");
print(index); // 輸出: 7

在這個(gè)例子中, lastIndexOf("o") 方法查找字符串 str 中最后一次出現(xiàn)的子串 "o" ,找到后返回其位置7。注意,該方法返回的是子串在原字符串中的位置,不是子串長(zhǎng)度。如果要查找多個(gè)子串,可以在 startIndex 參數(shù)中指定上一次查找結(jié)束的位置。如果子串不存在,則返回-1。

17 padLeft

padLeft(width, [padding]) 是一個(gè)方法,用于在一個(gè)字符串左側(cè)填充指定數(shù)量的字符。其中, width 表示填充后字符串的總長(zhǎng)度, padding 表示用于填充的字符,可省略,默認(rèn)為空格字符。例如:

String str = "Hello";
String newStr = str.padLeft(10, "-");
print(newStr); // 輸出: -----Hello

在這個(gè)例子中, padLeft(10, "-") 方法將字符串 str 左側(cè)填充5個(gè) "-" 字符,直到長(zhǎng)度達(dá)到10,返回一個(gè)新的字符串 "-----Hello" 。如果原字符串的長(zhǎng)度已經(jīng)大于等于指定的長(zhǎng)度,則不會(huì)填充任何字符,直接返回原字符串。

18 padRight

padRight(width, [padding]) 是一個(gè)方法,用于在一個(gè)字符串右側(cè)填充指定數(shù)量的字符。其中, width 表示填充后字符串的總長(zhǎng)度, padding 表示用于填充的字符,可省略,默認(rèn)為空格字符。例如:

String str = "Hello";
String newStr = str.padRight(10, "-");
print(newStr); // 輸出: Hello-----

在這個(gè)例子中, padRight(10, "-") 方法將字符串 str 右側(cè)填充5個(gè) "-" 字符,直到長(zhǎng)度達(dá)到10,返回一個(gè)新的字符串 "Hello-----" 。如果原字符串的長(zhǎng)度已經(jīng)大于等于指定的長(zhǎng)度,則不會(huì)填充任何字符,直接返回原字符串。

19 replaceFirstMapped

replaceFirstMapped(from, Function matchFunction) 是一個(gè)方法,用于基于正則表達(dá)式匹配的方式替換一個(gè)字符串中第一次出現(xiàn)的符合條件的子串。其中, from 表示要替換的子串的正則表達(dá)式, matchFunction 表示匹配到子串后的替換邏輯。例如:

String str = "Hello World!";
String newStr = str.replaceFirstMapped(RegExp(r"(\w+) (\w+)"), (match) {
  return "${match.group(2)} ${match.group(1)}";
});
print(newStr); // 輸出: World! Hello

在這個(gè)例子中, replaceFirstMapped(RegExp(r"(\w+) (\w+)")) 方法基于正則表達(dá)式 (\w+) (\w+) 匹配字符串 str 中第一次出現(xiàn)的類(lèi)似 "Hello World" 的子串。匹配到后,執(zhí)行匹配函數(shù) (match) {...} 中的邏輯,將子串中的兩個(gè)單詞交換位置,返回一個(gè)新的字符串 "World! Hello" 。

注意,匹配函數(shù)中的 match 參數(shù)為 Match 類(lèi)型,表示匹配到的子串及其分組信息,可以通過(guò) match.group(n) 方法獲取第n個(gè)分組中的內(nèi)容。如果要替換所有匹配到的子串,可以使用 replaceAllMapped() 方法。

20 replaceRange

replaceRange(start, end, replacement) 是一個(gè)方法,用于替換一個(gè)字符串中指定范圍內(nèi)的子串。其中, start 表示要替換的子串的起始位置(從左向右計(jì)數(shù),從0開(kāi)始), end 表示要替換的子串的結(jié)束位置(從左向右計(jì)數(shù),從0開(kāi)始,不包含該位置的字符), replacement 表示替換后的字符串。例如:

String str = "Hello World!";
String newStr = str.replaceRange(0, 5, "Hi");
print(newStr); // 輸出: Hi World!

在這個(gè)例子中, replaceRange(0, 5, "Hi") 方法將字符串 str 中從位置0到位置5(不包含5)的子串 "Hello" 替換成 "Hi" ,返回一個(gè)新的字符串 "Hi World!" 。

注意,替換范圍包括起始位置和結(jié)束位置,如果要替換到字符串末尾,可以將 end 參數(shù)省略或賦值為字符串長(zhǎng)度。

21 splitMapJoin

splitMapJoin(pattern, {onMatch, onNonMatch}) 是一個(gè)方法,它可以將一個(gè)字符串按照指定的模式分割成若干子串,并將每個(gè)子串按照指定的方式處理后合并成一個(gè)新的字符串。其中, pattern 表示用于匹配子串的模式(可以是一個(gè)字符串、一個(gè)正則表達(dá)式或一個(gè)函數(shù)), onMatch 表示處理匹配的子串的函數(shù), onNonMatch 表示處理非匹配的子串的函數(shù),如果不指定,則使用默認(rèn)的處理函數(shù)。例如:

String str = "Hello World!";
String newStr = str.splitMapJoin("o", onMatch: (match) => "*", onNonMatch: (nonMatch) => nonMatch.toUpperCase());
print(newStr); // 輸出: HEL* W*RLD!

在這個(gè)例子中, splitMapJoin("o", onMatch: (match) => "*", onNonMatch: (nonMatch) => nonMatch.toUpperCase()) 方法將字符串 str 按照 "o" 字符分割成若干子串,匹配的子串會(huì)被替換成 "*" ,非匹配的子串會(huì)轉(zhuǎn)換成大寫(xiě)字母。最后將所有子串合并成一個(gè)新的字符串 "HEL* W*RLD!" 。

注意, onMatch 和 onNonMatch 參數(shù)可以是函數(shù),函數(shù)的參數(shù)是子串內(nèi)容,函數(shù)的返回值是處理后的子串內(nèi)容,也可以是字符串,表示直接替換子串內(nèi)容。如果使用正則表達(dá)式作為模式,可以使用 RegExp 類(lèi)創(chuàng)建正則表達(dá)式對(duì)象。

22 runes

Dart中的字符串是Unicode字符序列,每個(gè)Unicode字符對(duì)應(yīng)一個(gè)或多個(gè)UTF-16編碼的代碼單元。使用 runes 屬性可以獲取字符串中的Unicode字符序列,返回一個(gè)可迭代的Unicode字符序列。例如:

String str = "?? Hello Dart!";
Iterable<int> runes = str.runes;
for (int rune in runes) {
  print(rune);
}

在這個(gè)例子中,字符串 str 中包含了一個(gè)Unicode字符 ?? ,使用 runes 屬性獲取字符串的Unicode字符序列,并遍歷輸出每個(gè)字符的編碼值。

注意,使用 runes 屬性返回的是Unicode字符序列,每個(gè)字符對(duì)應(yīng)一個(gè) int 類(lèi)型的值,而不是UTF-16編碼的代碼單元序列。如果要將一個(gè)Unicode字符序列轉(zhuǎn)換成一個(gè)字符串,可以使用 String.fromCharCodes() 方法。

23 String.fromCharCodes

fromCharCodes() 是一個(gè)靜態(tài)方法,用于將一個(gè)或多個(gè)Unicode字符序列轉(zhuǎn)換成一個(gè)字符串。其中,Unicode字符序列可以是一個(gè) List 或一個(gè)可迭代對(duì)象,每個(gè)Unicode字符對(duì)應(yīng)一個(gè) int 類(lèi)型的數(shù)值。例如:

List<int> codes = [72, 101, 108, 108, 111]; // "Hello"的Unicode編碼
String str = String.fromCharCodes(codes);
print(str); // 輸出: Hello

在這個(gè)例子中,將一個(gè)包含字符串 "Hello" 的Unicode編碼列表 [72, 101, 108, 108, 111] 轉(zhuǎn)換成一個(gè)字符串。

注意,使用 fromCharCodes() 方法時(shí)需要保證每個(gè)Unicode字符所對(duì)應(yīng)的編碼值都是有效的。如果編碼值無(wú)效,則該方法會(huì)拋出異常。

以上就是Dart String字符串的常用方法概述 整理了大概4000多字的詳細(xì)內(nèi)容,更多關(guān)于Dart String字符串方法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論