Swift 程序移除字符串中所有空格


空格字符是一种不可打印字符,表示字符串中的空格。为了移除字符串中的所有空格,Swift 提供了以下方法:

  • 使用 isWhitespace 属性

  • 使用 component() 函数

  • 使用 replacingOccurrences(of:with:) 方法

  • 使用正则表达式

方法 1:使用 isWhitespace 属性

isWhitespace 属性用于检查给定字符是否为空格字符。在这种方法中,我们使用 isWhitespace 属性和 filter() 方法来移除给定字符串中存在的所有空格。

语法

var res = str.filter{!$0.isWhitespace}

这里,filter() 方法被调用到 str 字符串上。传递给函数的闭包(!$0.isWhitespace) 检查字符串中的每个字符,如果字符不是空格字符,则返回 true。

示例

在以下 Swift 程序中,我们将从字符串中移除所有空格。为此,我们创建一个函数,该函数以字符串作为输入。然后,该函数使用 filter() 方法和 !$0.isWhitespace 闭包对输入的字符串进行检查,逐个字符判断它们是否为空格字符。如果是,则删除该字符并将非空格字符存储到变量中。移除所有空格后,使用 String() 初始化器将剩余的字符转换回字符串,并返回最终不包含任何空格的字符串。

import Foundation
import Glibc

func removeWhitespacesFromString(mStr: String) -> String {

    let filteredChar = mStr.filter { !$0.isWhitespace }
    return String(filteredChar)
}

let input = "Mohan learn swift   programming"
let resStr = removeWhitespacesFromString(mStr: input)

print("Original String:", input)
print("String without whitespaces:", resStr)

输出

Original String: Mohan learn swift   programming
String without whitespaces: Mohanlearnswiftprogramming

方法 2:使用 components() 方法

components() 方法用于从给定字符串创建子字符串数组,其中每个子字符串由指定的分割符分隔。因此,这里我们使用 components(separatedBy:.whitespaces) 方法,并使用 .wihitespaces 作为参数来创建子字符串数组,其中子字符串由空格字符分隔。之后,我们使用 joined() 函数将所有子字符串连接成一个不包含任何空格的字符串。

语法

str.components(separatedBy:.whitespaces)

这里,component() 方法被调用到 str 字符串上,并返回一个由空格分隔的子字符串数组。

示例

在以下 Swift 程序中,我们将从字符串中移除所有空格。为此,我们创建一个函数,该函数以字符串作为输入。然后,该函数使用 components(separatedBy: .whitespaces) 方法将输入字符串转换为基于空格的子字符串数组。然后,它使用 joined() 方法将所有子字符串连接成一个不包含空格的字符串。

import Foundation
import Glibc

func removeWhitespacesFromString(mStr: String) -> String {

   let chr = mStr.components(separatedBy: .whitespaces)
   let resString = chr.joined()
   return resString
}

let input = "Today is the  rainy day"
let resStr = removeWhitespacesFromString(mStr: input)

print("Original String:", input)
print("String without whitespaces:", resStr)

输出

Original String: Today is the  rainy day
String without whitespaces: Todayistherainyday

方法 3:使用 replacingOccurrences() 方法

replacingOccurrences() 方法用于将指定字符的所有出现替换为给定字符。因此,这里我们用空字符串 (“”) 替换空格字符 (“ ”) 的所有出现,以从字符串中移除所有空格。

语法

func replacingOccurrences{of: tchar, with: rchar}

这里,此函数接受两个参数,一个是 tchar,它是我们要替换的字符;另一个是 rchar,它是替换 tchar 的替换字符。

示例

在以下 Swift 程序中,我们将从字符串中移除所有空格。为此,我们创建一个字符串,然后使用 replacingOccurrences(of:with:) 方法并将空格 (“ ”) 替换为空字符串 (“”),并返回一个不包含空格的新字符串。最后,我们将显示输出。

import Foundation
import Glibc

let input = "Siya  run a beautiful  car"

let resultantString = input.replacingOccurrences(of: " ", with: "")
print("Original string:", input)
print("String without whitespaces:", resultantString)

输出

Original string: Siya  run a beautiful  car
String without whitespaces: Siyarunabeautifulcar

方法 4:使用正则表达式

我们还可以使用正则表达式从字符串中移除所有空格。这里我们使用 NSRegularExpression 类的 stringByReplacingMatches() 函数来移除所有空格。

示例

在以下 Swift 程序中,我们将从字符串中移除所有空格。为此,我们创建一个字符串,然后使用 “\s” 模式创建一个 NSRegularExpression 类的实例。其中 “\s” 模式用于匹配空格字符。然后,我们使用 stringByReplacingMatches() 函数将所有空格的出现替换为空字符串。最后,我们得到一个不包含空格的字符串。

import Foundation
import Glibc

let input = "Siya  run a beautiful  car"

let regexValue = try! NSRegularExpression(pattern: "\\s", options: [])
let newString = regexValue.stringByReplacingMatches(in: input, options: [], range: NSRange(location: 0, length: input.utf16.count), withTemplate: "")

print("Original String:", input)
print("String without whitespaces:", newString)

输出

Original String: Siya  run a beautiful  car
String without whitespaces: Siyarunabeautifulcar

结论

这就是我们如何从字符串中移除所有空格的方法。您可以使用上述任何方法从字符串中移除所有空格。所有方法都能很好地完成其工作。从字符串中移除空格在数据验证、格式化、比较和搜索、解析等方面很有用。

更新于: 2023年6月14日

6K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告