C でのプレフィックスの確認と数値部分文字列の抽出
Python では、文字列が特定のプレフィックスで始まるかどうかを確認し、部分文字列をinteger は簡単なタスクです。ただし、C では、同様の機能を実現する方法がすぐには分からない場合があります。
文字列が特定の部分文字列で始まるかどうかを判断するには、pos パラメーターを 0 に設定して rfind 関数を利用できます。これにより、検索が文字列の先頭に限定されるようになります。例:
<code class="cpp">std::string str = "tititoto"; if (str.rfind("titi", 0) == 0) { // The string starts with "titi" }</code>
上記の例では、pos がゼロに設定されており、検索がプレフィックスに限定されています。したがって、文字列が指定された部分文字列で始まる場合、rfind は 0 を返します。それ以外の場合は、失敗を示す std::string::npos が返されます。
C 20 以降では、std::string および std::string_view にstarts_with が導入されたため、プロセスが簡素化されています。
<code class="cpp">std::string str = "tititoto"; if (str.starts_with("titi")) { // The string starts with "titi" }</code>
文字列から数値部分文字列を抽出するには、std::stoi を使用できます。たとえば、「--foo=98」のような文字列がある場合、次のように数値を抽出できます。
<code class="cpp">std::string arg = "--foo=98"; std::size_t pos = arg.find("--foo="); if (pos != std::string::npos) { std::string foo = arg.substr(pos + sizeof("--foo=") - 1); int foo_value = std::stoi(foo); }</code>
この場合、find を使用して " の位置を特定します。 --foo= プレフィックス。見つかった場合は、 substr を使用して部分文字列を抽出し、 std::stoi を使用して整数に変換します。
これらの手法は、C で文字列を操作するための効率的で簡潔なソリューションを提供します。
以上がC でプレフィックスを確認し、数値部分文字列を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。