在这里查看此故事的交互式测验 https://quizzesforyou.com/quiz/swiftstringscharacters
快速刷新:
- 字符串文字:可以通过在双引号标记中包装一系列字符来创建字符串。例如:
let greeting = "Hello, world!"
2。 Multiline字符串文字:可以通过将字符封闭在三个双引号标记中来创建多行字符串。线断裂和压痕保留在多行字符串中。例如:
let multilineString = """
This is a
multiline
string.
"""
3。 特殊字符:字符串文字可以包括特殊字符,例如newline(\ n),Tab(\ t)和Unicode stalarar值(\ u {n})。例如:
let specialString = "Special characters: \\n\\t\\u{2665}"
4。 字符串插值:您可以在字符串插值中包含变量,常数,表达式和文字。这是由后斜线表示的,然后是字符串字面的括号。例如:
let name = "Alice"
let age = 30
let message = "My name is \\(name) and I'm \\(age) years old."
5。 字符串串联:您可以使用 +运算符或 + =运算符连接两个字符串,以将字符串附加到现有的字符串上。例如:
let str1 = "Hello"
let str2 = "World"
let combinedString = str1 + ", " + str2
6。 字符串Mustability :字符串可以是可变的或可变的。您可以使用var\
关键字创建一个可变的字符串和let\
关键字来创建一个不变的字符串。例如:
var mutableString = "Mutable"
mutableString += " String" // Modifying the string
let immutableString = "Immutable"
immutableString += " String" // Error: Cannot modify an immutable string
7。 字符串索引:可以通过迭代或使用下标语法来访问字符串中的单个字符。 Swift中的字符串表示为Character\
值的集合。例如:
let str = "Hello"
for char in str {
print(char)
}
//prints
H
e
l
l
o
let firstChar = str\[str.startIndex\] // Accessing the first character
let lastChar = str\[str.index(before: str.endIndex)\] // Accessing the last character
8。可以使用indices\
属性迭代字符串。
let greeting = "Hello"
for index in greeting.indices {
print("\\(greeting\[index\]) ")
}
// Output: H e l l o
9。插入和删除之类的字符串操纵方法允许您修改字符串。
var welcome = "hello"
welcome.insert("!", at: welcome.endIndex) // Inserting a character at the end
welcome.insert(contentsOf: " there", at: welcome.index(before: welcome.endIndex)) // Inserting a string before the last character
welcome.remove(at: welcome.index(before: welcome.endIndex)) // Removing the last character
10。子字符串是临时视图中的字符串,可以在需要时转换为字符串。
let greeting = "Hello, world!"
let substring = greeting\[..<greeting.firstIndex(of: ",")!\] // Getting a substring from the start until the comma
let newString = String(substring) // Converting the substring to a string
11。可以使用==\
和!=\
操作员检查字符串和字符平等。可以使用hasPrefix(\_:)\
和hasSuffix(\_:)\
方法检查前缀和后缀平等。
let str1 = "apple"
let str2 = "apple"
if str1 == str2 {
print("Strings are equal")
}
let word = "Swift programming"
if word.hasPrefix("Swift") {
print("String starts with 'Swift'")
}
if word.hasSuffix("programming") {
print("String ends with 'programming'")
}
测验:
在这里查看此故事的交互式测验 https://quizzesforyou.com/quiz/swiftstringscharacters
- 输出是什么?
let str = "Hello, World!"
let substring = str.prefix(5)
print(substring)
a)你好
b)世界
c)你好,
答案:a)你好
代码使用prefix(_:)
方法从字符串的开头创建一个长度为5个字符的子字符串。在这种情况下,子字符串为“你好”。
2。 输出是什么?
let str = #"This is a "quoted" string."#
print(str)
a)语法错误
b)这是一个引用的字符串。
c)#这是一个引用的字符串。
答案:b)这是一个引用的字符串。
代码使用#
前缀的原始字符串文字来创建字符串。字符串中的双引号用后斜切逃脱,因此将它们包含在结果字符串中。
3。 输出是什么?
let str = "Hello, World!"
let count = str.components(separatedBy: "o").count - 1
print(count)
a)0
b)1
c)2
答案:c)2
此代码使用components(separatedBy:)
方法将字符串分为组件数组,使用“ o”。结果数组减1的计数给出了字符串中“ O”的出现数量。在这种情况下,“ O”出现了两次,因此结果为2。
4。 执行以下代码后, **str**
变量的值是多少?
var str = "Hello, World!"
str.remove(at: str.index(str.startIndex, offsetBy: 7))
print(str)
a)你好,orld!
b)你好,wrld!
c)你好,世界
d)你好,word!
答案:b)你好,wrld!
代码从字符串str
中删除索引7的字符。在Swift中,字符串索引用于访问字符串中的单个字符。在这种情况下,索引str.index(str.startIndex, offsetBy: 7)
用于在第7位,即字母“ w”。然后在字符串上调用remove(at:)
方法,通过所获得的索引,以删除该位置的字符。
执行代码后,str
的结果值将是“您好,WRLD!”因为索引7处的字符“ w”已从原始字符串中删除。
5。 输出是什么?
let str = "Hello, World!"
let range = str.index(str.startIndex, offsetBy: 7)..<str.endIndex
let substring = str\[range\]
print(substring)
a)世界!
b)你好,世界
c)你好,
答案:a)世界!
代码使用一系列索引从原始字符串创建子字符串。它指定了从索引7(包含)到字符串末端的范围。在这种情况下,由此产生的子字符串是世界!
6。 输出是什么?
let str = "Hello, World!"
let index = str.firstIndex(of: ",") ?? str.endIndex
let substring = str\[..<index\]
print(substring)
a)你好
b)你好,
c)地狱
答案:a)你好
使用firstIndex(of:)
方法,代码在字符串str
中找到了字符的第一个索引。如果找到逗号,它将索引分配给常量的index
;否则,它分配了str.endIndex
,它代表字符串中最后一个字符之后的位置。
然后,使用部分范围(但不包括)早期获得的index
创建了str
的子字符串。这意味着所得的子字符串包括从字符串开始到逗号的所有字符,不包括逗号本身。
最后,打印了substring
的值,这将是“ hello”,因为它代表了原始字符串的部分到逗号字符。
- 输出是什么?
let str = "Apple, Banana, Cherry"
let components = str.split(separator: ",")
let count = components.count
print(count)
a)2
b)4
c)3
答案:c)3
使用split(separator:)
函数将字符串分为comma(“,”)作为分隔符。由于原始字符串中有三个分隔值,因此所得数组将具有三个元素。因此,数组的计数为3。
8。 可以使用哪种字符串函数去除白色空间?
let str = " Hello, World! "
a)拆分
b)删除
c)trimmingcharacters
答案:c)trimmingchacters
修剪字符可以使用
let trimmedStr = str.trimmingCharacters(in: .whitespaces) // "Hello, World!"
9。 输出是什么?
let number = 42
let str = String(number)
let result = str.count
print(result)
a)2
b)4
c)42
答案:a)2
代码初始化了一个具有值42的整数number
。然后将整数转换为使用String(number)
的字符串。结果字符串将为“ 42”,其计数将为2,指示字符串中的字符数。
10。 输出是什么?
var str1 = ""
var str2 = String()
if (str1 == str2) {
print("Equal")
} else {
print("Not Equal")
}
a)等于
b)不等于
c)零异常
答案:a)等于
代码初始化两个字符串,即str1
和str2
,具有空值。 str1
和str2
都是空字符串。条件str1 == str2
检查两个字符串是否相等。由于两个字符串都是空的,因此该条件评估为true
。因此,代码将打印“相等”。
访问https://quizzesforyou.com以获取更多此类测验