swiftにおける文字列の処理
4772 ワード
今日はswiftの文字列に対する操作をまとめ、仕事でよく使われることを記録します.の
1、文字列の宣言
文字列の宣言については、タイプを寸法するか、寸法を寸法しないかのいずれかです.
コードの「?」この変数がオプション値Optionalであることを示し、その値はnilであってもよいし、具体的な値であってもよい.オプション値として宣言されると、値が指定されていない場合、デフォルトはnilであり、ifを使用して文字列に値があるかどうかを判断できます.
2、文字列のつづり
文字列の接続には主に2つの方法があります.1つは文字列の後ろに直接文字列を追加することであり、もう1つは文字列の配列を1つの文字列につなぐことです.
3、文字列の切り取り
文字列の切り取りはsubstringFromIndex,substringToIndex,substringWithRangeの3つの関数を利用する.
1、文字列の宣言
文字列の宣言については、タイプを寸法するか、寸法を寸法しないかのいずれかです.
// 1、
var emptyStr : String = " "//
var str : String = "Hello World"// String
var str1 = "Hello World"// , swift String
// , true, false
let bool : Bool = emptyStr.isEmpty
文字列が空であるか否かを判断するには、上記の方法に加えて、変数タイプを定義する際に変数を空にすることを許可すると、xx==nilで判断できる愚かな方法がある. var str3 : String?
if str3 == nil {
str3 = "Hello World"
}
コードの「?」この変数がオプション値Optionalであることを示し、その値はnilであってもよいし、具体的な値であってもよい.オプション値として宣言されると、値が指定されていない場合、デフォルトはnilであり、ifを使用して文字列に値があるかどうかを判断できます.
2、文字列のつづり
文字列の接続には主に2つの方法があります.1つは文字列の後ろに直接文字列を追加することであり、もう1つは文字列の配列を1つの文字列につなぐことです.
// 2、
let str = "Hello"
let str2 = "world"
let str3 = str + str2// + ,
let array : [String] = ["aaa","bbb", "ccc"]
let arrayStr : String = array.joinWithSeparator("/")//
その接合の結果は以下の通りである.str3 Helloworld
arrayStr aaa/bbb/ccc
3、文字列の切り取り
文字列の切り取りはsubstringFromIndex,substringToIndex,substringWithRangeの3つの関数を利用する.
// 3、
let str = "Hello World"
//substringFromIndex: ,
let ns1=str.substringFromIndex(str.startIndex.successor())
//substringToIndex:
let ns2=str.substringToIndex(str.endIndex.predecessor())
//substringWithRange:
let start = str.startIndex.advancedBy(2)
let end = str.startIndex.advancedBy(7)
let ns3=str.substringWithRange(Range(start: start, end: end))
:
ns1 ello World
ns2 Hello Worl
ns3 llo W
4、 のアクセス
へのアクセスは、 き からアクセスできます. に4つの があります.それぞれ:
startIndex: の を す き
endIndex: の わりを す き
successor: の2つの き び しに され、 の きの に+1、つまり の
predessor: の2つの き び しにも され、 の きに づいて-1、すなわち の1つまたは の1つを す let str = "Hello World"
/*startIndex */
str[str.startIndex]
/*endIndex predecessor */
str[str.endIndex.predecessor()]
/*successor */
str[str.startIndex.successor()]
/* , advance , */
let index = str.startIndex.advancedBy(7)
str[index]
, swift , advance , OC Int, swift , Index
:
str[str.startIndex] H
str[str.endIndex.predecessor()] d
str[str.startIndex.successor()] e
str[index] o
5、 の
の は に3つの を む: しいかどうかは"==="で、xxx の にxx hasPrefixが まれているかどうか、xxx の にxx hasSuffixが まれているかどうか.コードは のとおりです.// 5 、
let str = "Hello"
let str1 = "World"
//
if str1 == str {
print("str1 str ")
}else{
print("str1 str ")
}
// he
if(str.hasPrefix("He")) {
print("str He");
}
// ng
if(str1.hasSuffix("ld")) {
print("str1 ld");
}
6、その の
の の は、フィルタと です.// 6、
//
var url = "http://cnews.chinadaily.com.cn/2016-06/21/content_25783045.htm"
var filtered = url.stringByReplacingOccurrencesOfString("/", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
print("filtered \(filtered)")
// / ?
url = "http://cnews.chinadaily.com.cn/2016-06/21/content_25783045.htm"
filtered = url.stringByReplacingOccurrencesOfString("/", withString: "?", options: NSStringCompareOptions.LiteralSearch, range: nil)
print("filtered \(filtered)")
:filtered http:cnews.chinadaily.com.cn2016-0621content_25783045.htm
filtered http:??cnews.chinadaily.com.cn?2016-06?21?content_25783045.htm