14 Şubat 2018 Çarşamba

std::string Arama Metodları

find metodu
std::string find metodu yazısına taşıdım.

find_first_not_of
Belirtilen kümedeki karakterlerden olmayan ilk konumu döndürür.
std::string a = ...;
if(a.find_first_not_of("1234567890.-")!=std::string::npos){...}
find_last_of metodu
Aramaya sondan başlar. Belirtilen karakterlerden herhangi birisini bulunca pozisyonunu döner.

Örnek
Şöyle yaparız.
std::string const & path = ...
auto const pos = path.find_last_of("/\\"); // windows or posix
Örnek
Elimizde bir dosya yolu olsun.
String t = "c:/foo/foo1/foo2/foo3/file.txt"
İkinci / karakterini bulmak için şöyle yaparız.
size_t second_to_last = t.find_last_of("/", t.find_last_of("/")-1);
std::string file_with_parent = t.substr (second_to_last+1);
Çıktı olarak şunu alırız.
"foo3/file.txt"

Hiç yorum yok:

Yorum Gönder