我有一個字串串列,如果它的專案看起來像這樣 '19-06-2022 12:37' ..
如果使用 Dart 語言的串列中存在這樣的模式,我如何洗掉它?
uj5u.com熱心網友回復:
您可以使用 String 類方法從字串中洗掉任何模式replaceAll。如果你想洗掉任何模式,那么你需要像下面的例子一樣使用 RegExp。
還有其他方法,例如replaceFirst,replaceRange有關更多詳細資訊,請閱讀此處
String testSt = "12-02-2022 16:23";
String myPattern = "^([0]?[1-9]|[1|2][0-9]|[3][0|1])[./-]([0]?[1-9]|[1][0-2])[./-]([0-9]{4}|[0-9]{2}) [012]{0,1}[0-9]:[0-6][0-9]";
testSt.replaceAll(new RegExp(myPattern),"");
uj5u.com熱心網友回復:
你可以用正則運算式試試這個
void main() {
RegExp regexp = RegExp(r'\d{2}-\d{2}-\d{4}\s\d{2}:\d{2}');
String data = "others data 19-06-2022 12:37 other iunfo";
print(regexp.allMatches(data).map((z) => z.group(0)).toList()); // [19-06-2022 12:37]
}
看看那里的 演示
uj5u.com熱心網友回復:
你可以這樣嘗試:
List<String> stringList = ["20-11-2022 12:37", "19-06-2022 12:37", "19-03-2022 12:37", "09-06-2022 12:37", "x", "y", "z","w"];
List<String> tempList = [];
for(var i = 0; i < stringList.length; i ){
if(stringList[i].contains("-")){
tempList.add(stringList[i]);
}
}
tempList.forEach((element) {stringList.remove(element);});
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/494627.html
