Swift测验#04:快速字符串和角色
#ios #swift #swiftinterview #swiftquiz

在这里查看此故事的交互式测验 https://quizzesforyou.com/quiz/swiftstringscharacters

快速刷新:

  1. 字符串文字:可以通过在双引号标记中包装一系列字符来创建字符串。例如:
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

  1. 输出是什么?
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”,因为它代表了原始字符串的部分到逗号字符。

  1. 输出是什么?
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)等于

代码初始化两个字符串,即str1str2,具有空值。 str1str2都是空字符串。条件str1 == str2检查两个字符串是否相等。由于两个字符串都是空的,因此该条件评估为true。因此,代码将打印“相等”。


访问https://quizzesforyou.com以获取更多此类测验

参考:https://docs.swift.org/swift-book/documentation/the-swift-programming-language/stringsandcharacters#Extended-String-Delimiters