我有一个包含二进制数字的字符串。如何将其分成几对数字?
假设字符串是:
let x = "11231245"
我想在每2个字符后添加一个分隔符,例如“:”(即冒号)。
我希望输出为:
"11:23:12:45"
我怎么能在Swift中做到这一点?
Swift 5.1•Xcode 11或更高版本
extension Collection {
var pairs: [SubSequence] {
var startIndex = self.startIndex
let count = self.count
let n = count/2 + count % 2
return (0..<n).map { _ in
let endIndex = index(startIndex, offsetBy: 2, limitedBy: self.endIndex) ?? self.endIndex
defer { startIndex = endIndex }
return self[startIndex..<endIndex]
}
}
}
extension Collection {
func distance(to index: Index) -> Int { distance(from: startIndex, to: index) }
}
extension StringProtocol where Self: RangeReplaceableCollection {
mutating func insert<S: StringProtocol>(separator: S, every n: Int) {
for index in indices.dropFirst().reversed()
where distance(to: index).isMultiple(of: n) {
insert(contentsOf: separator, at: index)
}
}
func inserting<S: StringProtocol>(separator: S, every n: Int) -> Self {
var string = self
string.insert(separator: separator, every: n)
return string
}
}
测试中
let str = "112312451"
let final = str.pairs.joined(separator: ":")
print(final) // "11:23:12:45:1"
let final2 = str.inserting(separator: ":", every: 2)
print(final2) // "11:23:12:45:1\n"
var str2 = "112312451"
str2.insert(separator: ":", every: 2)
print(str2) // "11:23:12:45:1\n"
var str3 = "112312451"
str3.insert(separator: ":", every: 3)
print(str3) // "112:312:451\n"
var str4 = "112312451"
str4.insert(separator: ":", every: 4)
print(str4) // "1123:1245:1\n"
问题内容: 我需要在数据库中填充纬度和经度列,但是原始信息存储为单个字符串 例如。 我猜想TRIM命令在这里很有用,但是我不知道如何告诉它每半个部分都精确地停在逗号上。 我希望能够提出一个简单的UPDATE查询,如下所示: 但是显然在LTRIM和RTRIM部分中需要做一些额外的工作,因此我只选择数据,但不包括UDFChar1中的逗号。 关于如何实现这一目标的任何想法? 问题答案: 请试试: 和 样
问题内容: 我想用和分开 因此处理后应该得到: 问题答案: 对更新问题的更新答案:
我有输入字符串'~~'作为分隔符。 例如:字符串s=“1~~vijay~~25~~pune”;当我在Java中用'~\\~'拆分它时,它工作得很好。 还有其他人面临同样的问题吗?请就这个问题发表评论。
如何将过滤器列表拆分为单个过滤器元件?split2String在线程“main”java.util.regex中导致:异常。PatternSyntaxException:索引10或(|和)附近的未闭合组(
为什么下面的bash代码不起作用? 预期产出:
我希望能够根据子字符串分隔符拆分字符串,在分隔符子字符串的第一个字符之前开始拆分。现在: 将给我,但我希望得到