首先拆分然后加入字符串的子集

Dar*_*der 5 c# string split join

我有一个输入字符串如下:

thumb_634735515600845357tchayat_november_200612.jpg
Run Code Online (Sandbox Code Playgroud)

我想要做的是首先拆分这个字符串_.然后将得到的标记放在1到n的位置并加入它们.

具体来说,就我的样本输入而言,这是我想要的输出.如您所见,thumb_已从字符串的前面删除:

634735515600845357tchayat_november_200612.jpg
Run Code Online (Sandbox Code Playgroud)

我知道怎么做分裂.但接下来我该如何进行加入步骤呢?我意识到我可以使用for循环来进行连接.但有更好的方法吗?我不能使用子字符串方法来执行连接步骤,因为我之前有数据thumb_.

最后,请注意,后面的_字符thumb始终是第一个实例_.

Joe*_*ton 11

由于_拇指之后始终是第一个实例,因此Substring应该完全可行IndexOf.

string newString = myString.Substring(myString.IndexOf("_") + 1);
Run Code Online (Sandbox Code Playgroud)

这应该从紧跟在第一个_字符实例之后的字符开始的子字符串.

如果你想获得第二个索引_,这是我推荐的:

int first = myString.IndexOf("_");
int second = mystring.Substring(first).IndexOf("_");
Run Code Online (Sandbox Code Playgroud)

请参阅Jon Skeet"第n次出现的字符串索引?" 这一问题的回答.支持这种方法.


Ale*_*kov 6

如果您不喜欢indexOf,但希望加入:

String.Join("_",
   "thumb_634735515600845357tchayat_november_200612.jpg"
   .Split('_')
   .Skip(1)
   .ToArray())
Run Code Online (Sandbox Code Playgroud)