首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用split创建新字符串

使用split创建新字符串
EN

Stack Overflow用户
提问于 2012-06-08 14:22:39
回答 3查看 161关注 0票数 0

我正在使用Split来挑选一个长字符串的不同部分。然后,我还使用Split将相同的字符串重新构建回一个长字符串,但没有字符串的第一部分

代码语言:javascript
代码运行次数:0
运行
复制
string.Split(',')[1] + "," + string.Split(',')[2] + "," + string.Split(',')[3] ....

我正在使用的字符串

代码语言:javascript
代码运行次数:0
运行
复制
string info = "id,title,director,actor1,actor2,actor3,genre,runtime,year,comment";

我的问题是,是否有一种简单而不复杂的方法来重建字符串,而不像我那样使用Split?既然我希望字符串的所有部分都不包含第一部分,即id,那么应该有一种简单的方法来删除第一个逗号之前的所有内容?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-08 14:28:38

我假设您不知道子字符串的长度,但您想要删除第一个逗号之前的所有内容(包括逗号),因此最简单的做法可能是查找此逗号的位置,然后获取后面的所有内容:

代码语言:javascript
代码运行次数:0
运行
复制
int idx = info.IndexOf(',');
string result = info.Substring(idx + 1);
票数 1
EN

Stack Overflow用户

发布于 2012-06-08 14:25:23

你把事情搞得太复杂了:

代码语言:javascript
代码运行次数:0
运行
复制
info = info.SubString(info.IndexOf(',') + 1);

第一个更快,这个只是为了完整:

代码语言:javascript
代码运行次数:0
运行
复制
info = info.Remove(0, info.IndexOf(',') + 1);
票数 7
EN

Stack Overflow用户

发布于 2012-06-08 14:33:15

一遍又一遍地拆分同一个字符串是没有意义的。此外,可以使用String.Join连接字符串

您可以这样写:

代码语言:javascript
代码运行次数:0
运行
复制
var str="moo,id,title,director,actor1,actor2,actor3,genre,runtime,year,comment";
var parts=str.Split(',');
var newStr=String.Join(",",parts,1,parts.Length-1);
Console.WriteLine(newStr);

不过,更好的做法是使用IndexOf查找',‘的第一个匹配项,并在第一个逗号后返回字符串:

代码语言:javascript
代码运行次数:0
运行
复制
    var newStr=str.Substring(str.IndexOf(',')+1);

如果想要将第一个元素与字符串的其余部分分开,可以使用Substring:

代码语言:javascript
代码运行次数:0
运行
复制
    var firstComma=str.IndexOf(',');
    var newStr=str.Substring(firstComma+1);
    var firstStr=str.Substring(0,firstComma);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10943945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档