【Swift4】文字列(NSString)から任意の文字を別の文字に置換する方法【Obbjective-C】
文字列から任意の文字を別の文字に置き換える方法をご紹介します。
置換の方法は、置換前文字と置換後文字を指定する方法とNSRangeを使用し、range部分を指定した文字に置換する2種類の方法があります。
文字列の中の任意の文字を置き換える方法
Swift4
var string : String = "abcdefg"
string = string.replacingOccurrences(of: "defg", with: "abc")
// string = abcabc となる
Objective-C
NSString *string = @"abcdefg";
string = [string stringByReplacingOccurrencesOfString:@"defg" withString:@"abc"];
// string = abcabc となる
NSRangeによる置換方法
Swift4
var string : String = "abcdefg"
let range = string.range(of: "defg")
string = string.replacingCharacters(in: range!, with: "abc")
// string = abcabc となる
Objective-C
NSString *string = @"abcdefg";
NSRange range = [string rangeOfString:@"defg"];
string = [string stringByReplacingCharactersInRange:range withString:@"abc"];
// string = abcabc となる
NSRangeは開始位置とそこからの文字数を記録しています。
「abcdefg」という文字列から、「defg」というRangeを取ると
開始位置4 文字数4という風になっています。