【一人 C++20 Advent Calendar 2019】文字列の先頭や末尾に対して任意の文字列が一致するか判定するメンバ関数の追加【10日目】

一人 C++20 Advent Calendar 2019 10日目の記事になります。

文字列の先頭や末尾に対して任意の文字列が一致するか判定するメンバ関数の追加

std::basic_stringstd::basic_string_viewstarts_with()ends_with()メンバ関数が追加されます。

#include <string>
#include <iostream>

int
main(){
    using namespace std::literals;
    auto s = "homuhomu"s;

    std::cout << std::boolalpha;

    // 先頭に任意の文字列が含まれているかどうか判定する
    std::cout << s.starts_with("ho") << std::endl;
    std::cout << s.starts_with("mu") << std::endl;

    // 末尾に任意の文字列が含まれているかどうか判定する
    std::cout << s.ends_with("ho") << std::endl;
    std::cout << s.ends_with("mu") << std::endl;

    return 0;
}
/*
output:
true
false
false
true
*/

こういうのが標準ライブラリでシュッと出来るのはいいですねー。

参照