我有一个要标记的字符串。它的形式是HHmmssff
, H
, m
,s
是f
数字。
它应该被标记为四个 2 位数字,但我需要它也接受速记形式,就像sff
它解释为00000sff
. 我想使用boost::tokenizer
'soffset_separator
但它似乎只适用于正偏移量,我想让它向后工作。
好的,一个想法是从左边用零填充字符串,但也许社区想出了一些超级智能的东西。;)
编辑: 其他要求刚刚开始发挥作用。
更智能的解决方案的基本需求是处理所有情况,如f
, ssff
,mssff
等,但也接受更完整的时间符号,HH:mm:ss:ff
如其速记形式,例如s:ff
,甚至s:
(这应该被解释为s:00
)。
在字符串以结尾的情况下,:
我显然也可以用两个零填充它,然后去掉所有分隔符,只留下数字并用精神解析结果字符串。
int
但是,如果有一种方法可以使偏移标记器从字符串的末尾返回(偏移量 -2、-4、-6、-8)并将数字转换为s ,这似乎会更简单一些。