【问题标题】:Cleanest way to remove trailing blanks a string in swift?快速删除字符串尾随空格的最干净方法?
【发布时间】:2015-06-19 07:44:53
【问题描述】:

在 Perl 中,如果我在字符串中有尾随空格,我会使用此代码

$line =~ s/ +$//;

swift中有类似的命令或功能吗?

【问题讨论】:

标签: swift


【解决方案1】:

Swift 不支持正则表达式。不过,它并不需要,因为您将使用 Swift 的唯一地方是在 Cocoa 的存在下 — 而 Cocoa 的 Foundation 框架确实提供了对正则表达式的支持(并且具有其他字符串处理命令)。 Swift String 和 Framework 的 NSString 相互桥接。

因此,您可以将stringByReplacingOccurrencesOfString:withString:options:range: 与正则表达式模式一起使用,例如(假设stringByTrimmingCharactersInSet: 对于您的目的来说过于简单)。

【讨论】:

  • 好答案,这会奏效。 stringByReplacingOccurrencesOfString:withString:options:range:
  • Matt 暗示了针对这种特定情况的更好答案stringByTrimmingCharactersInSet:
【解决方案2】:

如果您想多次执行此操作,我建议您将此方便的扩展程序添加到您的项目中:

extension String {
    var strip: String {
        return self.trimmingCharacters(in: .whitespaces)
    }
}

现在你可以做一些像这样简单的事情

let line = " \t BB-8 likes Rey \t "
line.strip // => "BB-8 likes Rey"

如果您更喜欢具有一些更方便功能的框架,请查看 HandySwift。您可以通过 Carthage 将它添加到您的项目中,然后像上面的示例一样使用它:

import HandySwift    

let line = "  BB-8 likes Rey  "
line.strip // => "BB-8 likes Rey"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-12
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 2015-11-11
    相关资源
    最近更新 更多