Menu
CoddyTech

文字列関数 パート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]

自分で試してみよう

#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腕試し

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

基礎のすべてのレッスン

自分で練習してみよう: C++オンラインコンパイラ