Tokenize - Karakter ile
String ile çalışırken Split ve Tokenizer şeklinde iki farklı yöntem karşımıza çıkıyor.
Aralarındaki fark şöyle :
Split ile verilen cümle değerlerine ayrıştırılıp bir dizi dönülür. Tokenizer ile değerler teker teker alınır.
C++
1. yöntem olaram getline() metodu ayraç olarak kullanılacak karakteri parametre verilerek kullanılabilir. Örnek'te satır okunduktan sonra | işareti ile kelimelere ayrılıyor
Java
StringTokenizer yazısına taşıdım.
String ile çalışırken Split ve Tokenizer şeklinde iki farklı yöntem karşımıza çıkıyor.
Aralarındaki fark şöyle :
Split ile verilen cümle değerlerine ayrıştırılıp bir dizi dönülür. Tokenizer ile değerler teker teker alınır.
C++
1. yöntem olaram getline() metodu ayraç olarak kullanılacak karakteri parametre verilerek kullanılabilir. Örnek'te satır okunduktan sonra | işareti ile kelimelere ayrılıyor
std::istringstream isstream(line);
for (std::string s; getline(isstream, s, '|');) {...}
// do stuff with s
2. yöntem olarak string sınıfının find_first_not_of() ve find_first_of() metodları kullanılabilir. kullanılabilir.
boost
boost tokenizer yazısına taşıdım.void tokenizeCmd(const string &str, vector<string> &tokens, const string &delimiters = " ") {
string::size_type lastPos = str.find_first_not_of(delimiters, 0);
string::size_type pos = str.find_first_of(delimiters, lastPos);
while (string::npos != pos || string::npos != lastPos) {
tokens.push_back(str.substr(lastPos, pos - lastPos));
lastPos = str.find_first_not_of(delimiters, pos);
pos = str.find_first_of(delimiters, lastPos);
}
}
boost
Java
StringTokenizer yazısına taşıdım.
Hiç yorum yok:
Yorum Gönder