Kotlinの文字列を1文字ずつ処理する方法!for文とforEachの使い方を初心者向けに解説
生徒
「Kotlinで文字列の中身を1文字ずつ取り出して処理することってできますか?」
先生
「できますよ。Kotlinではfor文やforEachという方法で文字列を1文字ずつ処理できます。」
生徒
「それぞれどういう風に使えばいいんでしょうか?」
先生
「それでは、Kotlinの文字列をイテレート(1文字ずつ取り出す)する方法を、順を追って丁寧に解説しますね。」
1. 文字列をイテレートするとは?
「イテレート」とは、ひとつずつ順番に処理していくことです。
Kotlin(ことりん)では、文字列は1文字ずつバラバラに扱うことができるようになっています。
たとえば、「Hello」という文字列があれば、それを「H」「e」「l」「l」「o」と1文字ずつ取り出して処理できます。
2. for文を使った文字列のイテレート
Kotlinではfor文を使って、文字列を1文字ずつ処理することができます。
これは、順番に文字を取り出していく基本的な方法です。
fun main() {
val text = "Kotlin"
for (char in text) {
println(char)
}
}
K
o
t
l
i
n
char in textの部分で、textの中の文字が1つずつcharに入って処理されます。
3. forEachを使った書き方
forEachという関数を使っても、同じように1文字ずつ処理できます。
こちらは関数型の書き方で、少しスタイリッシュです。
fun main() {
val text = "Kotlin"
text.forEach { char ->
println(char)
}
}
K
o
t
l
i
n
forEachの中で、1文字ずつcharとして受け取り、処理をしています。
4. for文とforEachの違い
どちらも文字列を1文字ずつ処理できますが、以下のような違いがあります。
| 特徴 | for文 | forEach |
|---|---|---|
| 読みやすさ | 直感的で初心者向き | 慣れるとスッキリ書ける |
| breakやcontinueの使用 | 使える | 使えない |
| 関数型っぽさ | なし | あり |
プログラミングに慣れてきたら、好みに合わせて使い分けるのがポイントです。
5. インデックス付きでイテレートするには?
文字と一緒に「何文字目か」を知りたい場合は、withIndex()を使います。
fun main() {
val text = "Hi!"
for ((index, char) in text.withIndex()) {
println("[$index] $char")
}
}
[0] H
[1] i
[2] !
このようにして、何番目の文字かを確認しながら処理することができます。
6. 空文字をイテレートするとどうなる?
空文字(からもじれつ)とは、文字がまったく入っていない状態の文字列です。
このような文字列をイテレートしても、何も処理されません。
fun main() {
val text = ""
for (char in text) {
println(char)
}
}
エラーにはなりませんが、何も出力されないので注意しましょう。
7. 特定の文字だけを処理したいとき
文字列の中で、特定の文字だけを処理したい場合にはif文と組み合わせます。
fun main() {
val text = "banana"
for (char in text) {
if (char == 'a') {
println("見つけた: $char")
}
}
}
見つけた: a
見つけた: a
見つけた: a
このように、特定の文字に対してだけ処理を実行できます。
8. 文字列を逆順で処理したい場合
reversed()を組み合わせれば、文字列を後ろから前に処理することも可能です。
fun main() {
val text = "Kotlin"
for (char in text.reversed()) {
println(char)
}
}
n
i
l
t
o
K
このように、逆順で文字列をイテレートしたいときも簡単に書けます。
Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。
基礎からわかるKotlinをAmazonで見る※ Amazon広告リンク
9. forEachIndexedを使った方法
forEachIndexedを使えば、インデックスと文字を同時に扱えます。
fun main() {
val text = "ABC"
text.forEachIndexed { index, char ->
println("$index 番目の文字: $char")
}
}
0 番目の文字: A
1 番目の文字: B
2 番目の文字: C
インデックス付きの処理をしたいときにはとても便利な書き方です。
【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分
「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。
本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。
具体的な体験内容と環境
【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。
【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。
この60分で得られる3つの体験
プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。
「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。
Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。
※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。
Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験