【发布时间】:2024-05-18 13:50:02
【问题描述】:
我有一个以 hh:mm:ss:ms 显示时间的字符串,我需要遍历该字符串并删除不需要的字符,然后在标签中显示。
例如,如果时间字符串是 00:25:30:00,我希望最终输出是 25:30,或者如果字符串是 00:25:00:30,它需要输出 25:00: 30
我有下面的代码,我认为它有效,直到我意识到我只想在两个零相邻时删除字符,所以不知道如何实现这一点。我正在自学编码,如果这是一个典型的菜鸟或愚蠢的问题,请道歉......
var gTimeString = "00:25:30:00"
var gTimeStringReduced = ""
//iterate over string and remove zeros
for char in gTimeString {
print("character = \(char)")
if char != "0" {
gTimeStringReduced.append(char)
print("reduced: ", gTimeStringReduced)
}
}
//remove the colon from the end of the string
for ch in gTimeStringReduced.dropLast() {
print(ch)
// `ch` is a Character. Use `String(ch)` if you need a String.
}
我也刚刚意识到上面的代码总是会删除最后一个字符,不管它是否是冒号,这也没什么用!
感谢所有帮助!
【问题讨论】:
-
如果是
00:25:00:30,您还想要相同的结果吗?还是只在开始/结束处加倍00(即修剪)? -
啊不,如果它是 00:25:00:30 我想要 25:00:30
-
如果你要在某些情况下同时删除前缀和后缀,你怎么知道
01:30:10是hh:mm:ss而不是mm:ss:ms?