Help us understand the problem. What is going on with this article?

Swift3の文字列操作

More than 3 years have passed since last update.

Swift3の文字列操作の自分用メモです。paiza.ioで動作確認済みです。ご自由に利用ください。

置換

abc2017 という文字列の中から、abc という文字列を、def という文字列に置換してから出力したい場合、こう書きます。

import Foundation
var str = "abc2017"
str = str.replacingOccurrences(of:"abc", with:"def")
print(str)
// def2017 が出力される

1行目:これを書かないと、2行目で使っているreplacingOccurrencesが使えません。

2行目:abc2017 という文字列を用意して、str という名前を付けました。

3行目:str = str.replacingOccurrences(of:"abc", with:"def")と書くことで、文字列変数strの、abc という文字列を、def に置換した結果を、str に再代入できます。
of:""の""の間に置換する前の文字列、with:""の""の間に置換した後の文字列を指定します。
結果として、文字列変数strの中身は、"def2017"になっています。

4行目:文字列変数strを出力します。def2017 が出力されます。

おまけ

2,3,4行目をまとめて書くこともできます。

import Foundation
print("abc2017".replacingOccurrences(of:"abc", with:"def"))

削除

abc2017 という文字列の中から、abc という文字列を削除してから出力したい場合、こう書きます。

import Foundation
var str = "abc2017"
str = str.replacingOccurrences(of:"abc", with:"")
print(str)
// 2017 が出力される

置換する場合とほぼ同じです。with:""の""の中に空の文字列を指定しています。こうすることで、abc という文字列は、空の文字列に置き換えられます。つまり、abc という文字列を削除できます。

おまけ

短く書けます(説明が雑)

import Foundation
print("abc2017".replacingOccurrences(of:"abc", with:""))

文字列の長さを取得

文字列の長さを知りたいときはこう書きます。

var str = "abc2017"
var length = str.characters.count
print(length)
// 7 が出力される

1行目:abc2017 という文字列を用意して、strという名前を付けました。

2行目:var length = str.characters.countと書くと、文字列変数strが何文字あるかを、Int型で変数lengthに代入できます。

3行目:変数lengthの値を出力します。

おまけ

1行で書けます

print("abc2017".characters.count)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away