【问题标题】:C# parse Apple formatted strings (printf)C# 解析 Apple 格式化字符串 (printf)
【发布时间】:2020-05-13 10:06:19
【问题描述】:

我正在处理一些苹果格式的字符串,例如:

[%d] fsPurgeable type: %@, count: %lld bytes for %lld files

根据 Apple 的文档 here,格式字符串规范遵循 IEEE printf specification,但出现了一些修改。

我需要解析这些字符串,并将 % 类型的占位符替换为属于那里的实际数据。我最初的想法是使用正则表达式,但是由于这些声称遵守 printf 规范,我想知道 .net 中是否已经有任何东西可能对此有所帮助。

我已经阅读了一些内容,但我没有看到任何立即跳出来的有用的东西。

有什么建议吗?

【问题讨论】:

标签: c# printf string.format


【解决方案1】:

为了回答我自己的问题,我最终编写了一个正则表达式来处理解析:

var regex = new Regex(@"(?i)%[dspublicxfegahztj{}@%]*");

(?i) = 不区分大小写的标志

% = 文字百分号

[dspublicxfegahztj{}@%] = 可以跟在 % 后面的所有有效字符

* = 匹配零个或多个字符,例如%lld

仍然很好奇 .Net 中是否有任何东西可以处理这种事情

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多