我正在嘗試在 dart 中創建一個簡單的函式來測驗哪個應該從輸入字串中洗掉所有元音,但似乎我的代碼永遠不會改變原始輸入。誰能幫我解決這個問題?謝謝
String removeVowel( str) {
var toReturn = "";
for (var i = 0; i < str.length; i ) {
var temp = str.substring(i,i 1);
if (temp != 'a' || temp != 'e' || temp != 'i' || temp != 'o' || temp!= 'u')
{
toReturn = toReturn temp;
}
}
return toReturn;
}
以及我的測驗顯示:
00:02 0 -1: dog --> dg [E]
Expected: 'dg'
Actual: 'dog'
Which: is different.
Expected: dg
Actual: dog
^
Differ at offset 1
uj5u.com熱心網友回復:
很好的第一次嘗試,但有一種更簡單的方法可以做到這一點。
replaceAll應該做的伎倆
String removeVolwels(String s){
return s.replaceAll(RegExp('[aeiou]'),'');
}
https://api.flutter.dev/flutter/dart-core/String/replaceAll.html
要使您的代碼正常作業,您應該||將&&
String removeVowel( str) {
var toReturn = "";
for (var i = 0; i < str.length; i ) {
var temp = str.substring(i,i 1);
if (temp != 'a' && temp != 'e' && temp != 'i' && temp != 'o' && temp!= 'u')
{
toReturn = toReturn temp;
}
}
return toReturn;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/446204.html
