文字列関数 パート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]チートシート
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;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。