2012-10-28 5 views
1

"Hello Jordania"라는 문장에 "a"문자가 몇 개나 있는지 계산하려고합니다.다트를 사용하여 문자열의 문자 수를 계산하십시오.

나는 contains 함수를 찾는다. 나는 이것을 다음과 같이 사용한다 :

var phrase = "Hello Jordania; 
    var comptenbrdea = phrase.contains('a'); 
    print(comptenbrdea); 

응답으로 "True"를 얻는다. 보통 당신은 말할 것이다, 나는 알고있다. 그러나 내가 얼마나 많은 시간을 계산하는지 알맞지 않은 함수를 찾는다. 모든 문자를 확인할 수 있다면 루프를 사용하여 무언가를 할 수 있습니까? ... 나는 분실했습니다 http://www.dartlang.org/search.html?cx=011220921317074318178%3Ai4mscbaxtru&ie=UTF-8&hl=en&q=string_scanner ... 저를 도와 줄 수 있습니까?

+0

핵 옵션 : regex를 사용하여 'a'가 아닌 모든 것을 제거한 다음 남아있는 길이를 가져옵니다. –

+0

thise 함수가 있습니다. letterFrequency (문자열 텍스트) { 문자열 textWoutSpaces = text.replaceAll ('\ n', ''). replaceAll ('', '') .replaceAll ('.', ''); List charList = textWoutSpaces.splitChars(); charList.sort ((m, n) => m.compareTo (n)); var charMap = {}; for (var char in charList) { if (char == 'o') { charMap [char] = charMap.putIfAbsent (char,() => 0) +1; } } return charMap; } – Peter

답변

4

여기에 그것을 할 수있는 간단한 방법이있다 : 테스트 문자열 매개 변수가 아닌 문자입니다 그냥 문자를 통해 반복하는 방법을 보여 드리겠습니다 계산해라.

1

위와 같이 히트 곡을 작성하기위한 일반적인 기능이 포함되어 있지만 위의 내용은 문자로 반복 작성해야하지만 'a'로 표시된 버전은 작성하는 것이 좋습니다.

void main() { 
    print('a'.allMatches('Hello Jordania').length); // 2 
} 

편집 :

var myString = "hello"; 
for (var char in myString.splitChars()) { 
    // do something 
} 
0
// count letters 
    Map<int,int> counts = new Map<int,int>(); 
    for (var c in s.charCodes()) { 
    counts[c] = counts.putIfAbsent(c, p()=>0) + 1; 
    } 
    // print counts 
    for (var c in counts.getKeys()) 
    print("letter ${new String.fromCharCodes([c])} count=${counts[c]}"); 
1
void main() { 
    const regExp = const RegExp("a"); 
    print(regExp.allMatches("Hello Jordania").length); // 2 
}