Menu
Coddy logo textTech

文字列関数 パート2

CoddyのC++ジャーニー「基礎」セクションの一部 — レッスン 71/74。

文字列に関する、その他の便利な関数を以下に示します:

  • erase(pos, len): 現在の文字列から、位置 pos から始まる len 文字を削除します。
  • find(str): 現在の文字列内で str が最初に出現する位置を返します。見つからない場合は、-1 と比較可能なオブジェクトを返します。
  • clear(): 文字列からすべての文字を削除し、空にします。
  • empty(): 文字列が空の場合は true を、そうでない場合は false を返します。

例えば、次の文字列を使用します:

std::string str = "Hello, World!";
int pos = str.find("World");
// 出力: pos = 7 ("World" が始まる位置)
str.erase(5, 2);
// 出力: "HelloWorld!"
str.clear();
// 出力: "" (空の文字列)
bool isEmpty = str.empty();
// strに文字が含まれていない場合にtrueを返します
challenge icon

チャレンジ

簡単

stringSearchOperations という名前の関数を作成してください。この関数は文字列を引数として受け取り、文字列関数を使用して以下の操作を実行します。

  • 文字列内の最初のスペース文字の位置を検索して出力します。
  • 位置 5 から 4 文字を削除します。
  • 文字列に "You" という単語が含まれているかどうかを確認し、"Found" または "Not Found" を出力します。
  • 文字列をクリアし、空であるかどうかを確認します。
  • 各操作の後に結果を出力します。

以下の形式を使用してください:

Space Found At: [Position of space]
After Erase: [String after erasing]
Contains You: [Found/Not Found]
Is Empty: [true/false]

チートシート

C++における便利な文字列関数:

  • erase(pos, len): 位置 pos から len 文字を削除します
  • find(str): str が最初に出現する位置を返します(見つからない場合は -1 を返します)
  • clear(): 文字列からすべての文字を削除します
  • empty(): 文字列が空の場合は true を、そうでない場合は false を返します
std::string str = "Hello, World!";

int pos = str.find("World");
// pos = 7 ("World" が始まる位置)

str.erase(5, 2);
// 結果: "HelloWorld!"

str.clear();
// 結果: "" (空の文字列)

bool isEmpty = str.empty();
// str に文字がない場合は true を返します

自分で試してみよう

#include <iostream>
#include <string>

void stringSearchOperations(std::string str) {
    // 最初のスペースを見つける

    // 5番目の位置から4文字を削除する

    // "You"が含まれているか確認する

    // 文字列をクリアし、空かどうかを確認する
}

int main() {
    std::string str;
    std::getline(std::cin, str);
    stringSearchOperations(str);
    return 0;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン