【问题标题】:Split string into substring with component separated by string swift将字符串拆分为子字符串,组件由字符串 swift 分隔
【发布时间】:2017-06-27 11:56:01
【问题描述】:

我有一个字符串如下图,

newString : String = "12","34","56","78","910","1112","1314","1516","1718","1920","2122","2324","2526","2729".

我想用"4 string each" 字符串分隔字符串,例如"12","34","56","78" and "910","1112","1314","1516" 等等。

我们可以通过使用范围或其他方式来实现这一点吗?

注意:- newString 不是静态数据,它将来自 web 服务

【问题讨论】:

  • 你可以用 分隔,然后每 4 个字符串对象再合并一次。
  • @PatelJigar 如果您能提供任何示例,那就太好了
  • 使用joinWithSeparatorcomponentsSeparatedByString
  • let newString : String = "12","34","56","78","910","1112","1314","1516","1718","1920","2122","2324","2526","2729" 不是有效的 Swift。您的意思是说您有一个 array 字符串吗?还是引号是字符串本身的一部分?

标签: swift string split substring


【解决方案1】:

您可以通过, 拆分字符串,例如:let strArr = newString.components(separatedBy: ","),然后将strArr 拆分为包含 4 个元素的数组,并通过, 连接每个结果数组。希望这会有所帮助,祝你好运!

【讨论】:

  • 你能在这里写例子吗
【解决方案2】:

你可以这样尝试,首先从String创建数组,然后从中创建块数组,然后从数组中加入字符串。

let newString = "1,2,3,4,5,6,7,8,9,10,11,12"
let array = newString.components(separatedBy: ",") // ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]
let chunkSize = 4
let chunksArray = stride(from: 0, to: array.count, by: chunkSize).map {
    Array(array[$0..<min($0 + chunkSize, array.count)])
}
let subArray = chunksArray.map { $0.joined(separator: ",") }
// ["1,2,3,4", "5,6,7,8", "9,10,11,12"]

编辑:您可以像这样将最后两个动作与单个动作合并。

let subArray = stride(from: 0, to: array.count, by: chunkSize).map { 
    array[$0..<min($0 + chunkSize, array.count)].joined(separator: ",") 
}
// ["1,2,3,4", "5,6,7,8", "9,10,11,12"]

【讨论】:

  • 非常感谢 Nirav D 欢呼我正在尝试使用 chunksArray 但找不到 Swift 3 的解决方案
  • 你也可以说let subArray = stride(from: 0, to: array.count, by: chunkSize).map { array[$0..&lt;min($0 + chunkSize, array.count)].joined(separator: ",") }。保存创建中间数组。
  • @Hamish Thanx 的建议,编辑答案。
【解决方案3】:

首先从字符串生成一个数组:

let newString = "1,2,3,4,1234,1235,1236,1238,678,679"    
let newStringArray = newString.componentsSeparatedByString(",")

然后运行for循环并使用joinWithSeparator添加字符串

【讨论】:

  • 感谢您的帮助。
猜你喜欢
  • 2015-12-28
  • 2014-06-29
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
  • 2022-11-17
相关资源
最近更新 更多