字符串在开头或结尾处含有空格。这篇文章解释了以下内容:
- 修剪字符串中的空白处
- 删除字符串中的前导空间
- 删除字符串中的尾部空间
- 删除字符串中含有空格的中间或任何。
字符串修剪空白处的例子
这个例子从一个给定的字符串中删除前导和尾部的空格。trimmingCharacters 方法与whitespaces ,在Swift版本>4时有效:
import Foundation
let str=" one two three ";
print(str)
let result = str.trimmingCharacters(in: .whitespaces)
print(result)
输出:
one two three
one two three
在Swift 3版本中,你可以在trimmingCharacters方法中使用CharacterSet.whitespacesAndNewlines ,如下图所示
import Foundation
let str=" one two three ";
print(str)
let result = str.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
print(result)
你可以看到,它并没有去除字符串中的空格。
你可以使用下面给出的扩展为String类添加一个修剪方法:
import Foundation
extension String{
func trim() -> String{
return self.trimmingCharacters(in: .whitespaces)
}
}
let str=" one two three ";
print(str)
print(str.trim())
如何在Swift中删除字符串中的所有前导(Start)空格?
这个例子从一个给定的字符串中删除了前导(Start):
- 为String类创建了一个扩展
- 添加了函数trimStart(),删除前导空格并返回字符串。它删除了字符串开头的所有空格。
- 使用while循环和
hasPrefix方法检查字符串在开始时是否包含空格。 - 使用
dropFirst函数排除最后一个元素,返回子串 - 最后,返回字符串 下面是一个在字符串中进行前导修剪的例子
import Foundation
extension String{
func trimStart() -> String {
var str = self
while str.hasPrefix(" ") {
str = "" + str.dropFirst()
}
return str
}
}
let str=" one two three ";
print(str)
print(str.trimStart())
输出:
one two three
one two three
如何在Swift中删除字符串的尾部(End)空格
这个例子从一个给定的字符串中移除尾部(End):
- 创建了对字符串类的扩展
- 添加了函数trimEnd(),删除尾部的空格并返回字符串。它删除了字符串末尾的所有空格
- 使用while循环和
hasSuffix方法检查字符串在结尾处是否含有空格。 - 使用
dropLast函数排除最后一个元素,返回子串 - 最后,返回字符串
下面是一个在字符串中进行尾部修剪的例子,其示例为
import Foundation
extension String{
func trimEnd() -> String {
var str = self
while str.hasSuffix(" ") {
str = "" + str.dropLast()
}
return str
}
let str=" one two three ";
print(str)
print(str.trimEnd())
输出:
one two three
one two three
如何删除字符串中的空格
这个例子从一个字符串中删除了空格字符。字符串包含前导、尾随或中间的字符。
下面是一个例子
import Foundation
extension String{
func removeSpace()-> String{
return self.replacingOccurrences(of: "\\s", with: "", options: .regularExpression)
}
}
let str=" one two three ";
print(str)
print(str.removeSpace())
输出:
one two three
onetwothree