在要格式化的字符串中(主要是用不同的符号替换字符以在 UI 上进行渲染测试),我必须检测 % 然后从这个 % char 中跳过所有字符 util 第一个空格,并且必须对字符串中的所有实例重复它。
例如 abcd%1$s efgh %2$d ijkl
。在这个字符串中,我必须得到 % 的索引,然后从中找到第一个空间的索引。基本上,我必须跳过这个%1$s
&%2$d
这是某种格式的占位符。我希望,我不会把它放在复杂的地方。
你可以很容易地做到这一点,只需抓住第一个百分号的索引,然后利用该索引从那里找到第一个空格:
var start = myString.IndexOf("%");
var spaceIndex = myString.IndexOf(" ", start)
当然 myString 的值是您在问题中表示的字符串。
根据您的要求,以下是最简单且可扩展的“abcd%1$s efgh %2$d ijkl
在此字符串中,我必须跳过此%1$s
&%2$d
这是某种格式的占位符。”
string[] placeHolders = new string[] {"%1$s", "%2$d"};
string[] splits = "abcd%1$s efgh %2$d ijkl".Split(placeHolders, StringSplitOptions.None);
这将提供splits
为["abcd", "efgh", "ijkl"]