文字列関数 パート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 を返すチャレンジ
簡単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;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: C++オンラインコンパイラ