名前空間
変種
操作

std::basic_string::find

提供: cppreference.com
< cpp‎ | string‎ | basic string

 
 
 
std::basic_string
 
size_type find( const basic_string& str, size_type pos = 0 ) const;
(1)
size_type find( const CharT* s, size_type pos, size_type count ) const;
(2)
size_type find( const CharT* s, size_type pos = 0 ) const;
(3)
size_type find( CharT ch, size_type pos = 0 ) const;
(4)
size_type find( std::basic_string_view<CharT, Traits> sv, size_type pos = 0) const;
(5) (C++17およびそれ以降)
指定された文字シーケンスと一致する最初の部分文字列を検索します。検索はposから始まります。つまり、発見される部分文字列はposより前から始まることはありません。
Original:
Finds the first substring equal to the given character sequence. Search begins at pos, i.e. the found substring must not begin in a position preceding pos.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
1)
strに等しい最初の部分文字列を検索します。
Original:
Finds the first substring equal to str.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
2)
sが指す文字列の最初からcount文字と等しい最初の部分文字列を検索します。 sはnull文字を含めることができます。
Original:
Finds the first substring equal to the first count characters of the character string pointed to by s. s can include null characters.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
3)
sが指す文字列と等しい最初の部分文字列を検索します。文字列の長さは、最初のnull文字によって決定されます。
Original:
Finds the first substring equal to the character string pointed to by s. The length of the string is determined by the first null character.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
4)
最初の文字chを検索します。
Original:
Finds the first character ch.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
5)
svに等しい最初の部分文字列を検索します。
Original:
Finds the first substring equal to the string view sv.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

目次

[編集] パラメータ

str -
検索する文字列
Original:
string to search for
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
pos -
検索を開始する位置
Original:
position at which to start the search
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
count -
検索する文字列の長さ
Original:
length of substring to search for
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
s -
検索する文字列へのポインタ
Original:
pointer to a character string to seach for
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ch -
検索する文字
Original:
character to search for
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
sv -
検索するstd::basic_string_view
Original:
std::basic_string_view to search for
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集] 返り値

見つかった部分文字列の最初の文字の位置か、見つからなかった場合はnposを返します。
Original:
Position of the first character of the found substring or npos if no such substring is found.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集]

#include <string>
#include <iostream>
 
void print(std::string::size_type n, std::string const &s)
{
    if (n == std::string::npos) {
        std::cout << "not found\n";
    } else {
        std::cout << "found: " << s.substr(n) << '\n';
    }
}
 
int main()
{
    std::string::size_type n;
    std::string const s = "This is a string";
 
    // search from beginning of string
    n = s.find("is");
    print(n, s);
 
    // search from position 5
    n = s.find("is", 5);
    print(n, s);
 
    // find a single character
    n = s.find('a');
    print(n, s);
 
    // find a single character
    n = s.find('q');
    print(n, s);
}

出力:

found: is is a string
found: is a string
found: a string
not found

[編集] 参考

部分文字列が現れる最後の位置を探します
(パブリックメンバ関数) [edit]
文字が現れる最初の位置を探します
(パブリックメンバ関数) [edit]
文字が現れない最初の位置を探します
(パブリックメンバ関数) [edit]
文字が現れる最後の位置を探します
(パブリックメンバ関数) [edit]
文字が現れない最後の位置を探します
(パブリックメンバ関数) [edit]