如何在Swift中修剪字符串并举例说明

354 阅读2分钟

字符串在开头或结尾处含有空格。这篇文章解释了以下内容:

  • 修剪字符串中的空白处
  • 删除字符串中的前导空间
  • 删除字符串中的尾部空间
  • 删除字符串中含有空格的中间或任何。

字符串修剪空白处的例子

这个例子从一个给定的字符串中删除前导和尾部的空格。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