【问题标题】:How can i trim spaces from between of a NSString while displaying in UI Label在 UI 标签中显示时如何修剪 NSString 之间的空格
【发布时间】:2016-09-19 13:13:56
【问题描述】:

我正在从 Web 服务获取字符串值。我需要从字符串之间删除空格。我怎样才能做到这一点? 示例:如果字符串为"A ALL YEAR",则在UILabel文本中显示该值时,它必须变为"A ALL YEAR"

我附上了下面的图片以供澄清。

【问题讨论】:

  • @vishnuvarthan 这不是您所指内容的重复。因为他们正在修剪前导和尾随空格。而我想在空格之间修剪

标签: ios nsstring uilabel


【解决方案1】:
NSString *yourString = @"A  ALL YEAR";
NSCharacterSet *whitespaces = [NSCharacterSet whitespaceCharacterSet];
NSPredicate *noEmptyStrings = [NSPredicate predicateWithFormat:@"SELF != ''"];

NSArray *parts = [yourString componentsSeparatedByCharactersInSet:whitespaces];
NSArray *filteredArray = [parts filteredArrayUsingPredicate:noEmptyStrings];
yourString = [filteredArray componentsJoinedByString:@" "];

输出:- 全年

希望你需要这个。如果这不起作用,请告诉我。

【讨论】:

  • @BrijeshSingh 太好了。欢迎。
【解决方案2】:
let str = "A All Time".components(separatedBy: " ")

let newString = str[0] + " " + str[1] + " " + str[3]

您也可以使用 for 循环。

【讨论】:

  • 硬编码?可怕的解决方案
  • 值不会保持不变。文本和大小可能会有所不同。因为我已经提到我从网络服务中获得了价值。
【解决方案3】:

试试NSRegularExpression这个正则表达式模式:

\s{2,}

替换为space

Regex Demo

NSRegualrExpression for string replacement 的示例。

【讨论】:

    猜你喜欢
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多