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