C++で文字列の一部を取り出したいとき、あなたはどのように実装していますか?
本記事では、C++標準ライブラリで提供されている便利な関数「substr
」を使って、部分文字列(サブストリング)を取得する方法を、具体的なコード例とともにわかりやすく解説します。
✅ C++で文字列操作をする基本:substr
関数とは?
C++で文字列を操作する際に非常によく使われる関数が substr
です。
この関数は、ある位置から一定の長さ分だけ文字列を取り出すときに使います。
🔍 基本構文
string substr (size_t pos = 0, size_t len = npos) const;
pos
:開始位置(0から始まるインデックス)len
:取り出す長さ(省略すると最後まで)
🧑💻 実例コードで学ぶ:部分文字列の取得方法
以下のC++コードを例に、substr
の実際の使い方を確認してみましょう。
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
string s;
int m;
cin >> n >> s >> m;
cout << s.substr(0, m) << endl;
}
📝 コードの動作説明
このコードは以下の手順で動作します:
- 最初に整数
n
を入力(今回は使用しません) - 次に文字列
s
を入力 - 最後に整数
m
を入力 s
の先頭からm
文字分だけ取り出して出力
🎯 実行例
入力:
10
programming
5
出力:
progr
このように、文字列 "programming"
の先頭から5文字だけを抜き出して "progr"
を出力しています。
🔧 substrの活用例と注意点
✅ よくある使用シーン
- ユーザー名の頭3文字を表示
- ファイル名の拡張子を取り出す
- クレジットカード番号の下4桁だけを表示する
⚠ 注意点
m
がs.length()
より大きいと、残り全部が出力されるだけなのでエラーにはなりません- インデックスが0始まりであることに注意
💡 応用:文字列を切り出して何ができる?
部分文字列を使って、例えば以下のような処理も簡単にできます:
string email = "user@example.com";
string domain = email.substr(email.find('@') + 1);
cout << domain; // 出力: example.com
このように、文字列処理はWeb開発、ファイル解析、システム開発などあらゆる場面で必要になります。
✅ まとめ:C++のsubstr
で文字列操作はカンタン!
C++の標準ライブラリには、初心者にも扱いやすい文字列関数が豊富に用意されています。
今回紹介した substr
を覚えておくだけでも、日常的なプログラムで大いに役立ちます。
📈 キーワード
- C++ 文字列操作 方法
- substr C++ 使い方
- C++ 部分文字列 取得
- C++ string 関数 例
- C++ 文字列の切り出し