11

在要格式化的字符串中(主要是用不同的符号替换字符以在 UI 上进行渲染测试),我必须检测 % 然后从这个 % char 中跳过所有字符 util 第一个空格,并且必须对字符串中的所有实例重复它。

例如 abcd%1$s efgh %2$d ijkl。在这个字符串中,我必须得到 % 的索引,然后从中找到第一个空间的索引。基本上,我必须跳过这个%1$s&%2$d这是某种格式的占位符。我希望,我不会把它放在复杂的地方。

4

2 回答 2

25

你可以很容易地做到这一点,只需抓住第一个百分号的索引,然后利用该索引从那里找到第一个空格:

var start = myString.IndexOf("%");
var spaceIndex = myString.IndexOf(" ", start)

当然 myString 的值是您在问题中表示的字符串。

于 2013-04-05T10:09:47.537 回答
0

根据您的要求,以下是最简单且可扩展的“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"]

于 2015-02-12T09:28:54.580 回答