// cadena ------------ ---------
// 1. empalme
// variable de cadena
dejar que oneStr = NSMutableString.init ()
dejar que twoStr = oneStr.appending ( "twoStr")
dejar que threeStr = twoStr.appending ( "threeStr")
imprimir ( "threeStr:", threeStr)
// cadena inmutable
dejar que str1 = "str1"
dejar que str2 = "str2"
dejar que str3 = cadena1 + cadena2
imprimir ( "str3:", str3)
// 2. Cadena de recorrido
para strTmp en str3 {
imprimir ( "cadena de recorrido:", strTmp)
}
// 3. El número de
imprimir ( "Número de cuerdas:", str3.count)
4. comparativo cadena // contiene el prefijo y sufijo y
dejar que strSame1 = "abc"
dejar que strSame2 = "abc"
Si strSame1 == {strSame2
imprimir ( "同")
} Else {
imprimir ( "diferente")
}
// prefijo
dejar que aM = "a"
si strSame1.hasPrefix (aM) {
imprimir ( "contiene el prefijo")
} Else {
imprimir ( "no incluye el prefijo")
}
// sufijo
si strSame1.hasSuffix ( "b") {
imprimir ( "contiene el sufijo")
} Else {
imprimir ( "no incluye el sufijo")
}
// contiene 5 (2)
dejar que miCadena = "Mi nombre es Sky"
si (myString.range (de: "Cielo") = nil) {
imprimir ( "contiene el Cielo")
} Else {
imprimir ( "no incluye el cielo")
}
// contiene (2)
dejar que la cadena = "Hola Swift";
dejar que subCadena = (cadena como NSString) .contains ( "Swift")
si (subCadena) {print ( "包含")}
6 // cadena de intercepción
dejar que helloWorld = "abcdefghijklmn"
/ *
Para la operación de cuerdas, la mayoría de ellos necesitan ser alcanzado por String.Index como intermediario.
Para cadena de intercepción, Swift4 utilizando un [... startIndex endIndex] la sintaxis, seguido de una Cadena de intervalo. Habla popular, el valor de esta gama de requisitos de tipo String.Index, vamos a llegar a algunas del valor del Índice.
* /
dejar que startIndex = helloWorld.startIndex
// Posición basada en el índice a partir del 5:
dejar que el subíndice = helloWorld.index (startIndex, offsetBy: 5)
/ *
Escrito en los paréntesis dos valores, una subcadena puede ser obtenida, el resultado se subcadena tipo.
La redacción se ... Índice de carácter intervalo cerrado, los resultados obtenidos corresponden a los dos a la izquierda y la derecha;
La redacción .. <sección está abierta, los resultados obtenidos Índice de carácter correspondientes a la izquierda, pero no incluye un derecho que corresponde Índice
* /
// Los resultados obtenidos anteriormente, no es el tipo de cuerdas, pero el tipo subcadena solamente, también tenemos que hacer más pasos de trabajo, construcción de la secuencia:
dejar que lasStr = String (helloWorld [... subíndice])
imprimir ( "intercepción cadena:", lasStr)
// 7. Reemplazar
dejar que replaceStr = "replaceStr abcdefg"
imprimir ( "字符串 替换:", replaceStr.replacingOccurrences (de: "r", con: "F"))
// matriz se divide en 8
dejar que strArray = "abce / fg / HIJKLMN"
dejar que Aray = strArray.components (separatedBy: "/")
imprimir ( "dividida en una matriz:", Aray)
imprimir ( "Matriz de empalme:", aray.joined (separador: "-"))
// 9. Cadena de Datos
dejar que dataStr = "a"
imprimir (dataStr.data (usando: .utf8) ?? "falseDataStr")