我有一根这样的绳子:
这是维基百科的一句话--这是对维基百科访问者的一个概括性介绍。该项目还有一篇关于自己的百科全书文章,维基百科,以及一些有抱负的贡献者的介绍。有关如何向运行维基百科的组织捐款的信息,请参阅捐赠方式。@##@这句话来自google --这是维基百科访问者的一个概括性介绍。该项目还有一篇关于自己的百科全书文章,维基百科,以及一些有抱负的贡献者的介绍。有关如何向运行维基百科的组织捐款的信息,请参阅捐赠方式。@##@这句话来自Facebook --这是维基百科访问者的一个概括性介绍。该项目还有一篇关于自己的百科全书文章,维基百科,以及一些有抱负的贡献者的介绍。有关如何向运行维基百科的组织捐款的信息,请参阅捐赠方式。@##@
现在,从上面的字符串中,我想计算模式"@##@“的出现情况。在这之后,我想要子字符串,直到这个模式在字符串中第二次出现。
所以在上面的例子中,我想要的结果是:
Count= 3子串=“这是维基百科的一句话--这是对维基百科访问者的一般性介绍。该项目还有一篇关于维基百科本身的百科全书文章,以及一些对有抱负的贡献者的介绍。关于如何向维基百科的运营机构捐款的信息,请看捐赠的方式。@##@这句话来自谷歌--这是对维基百科访问者的一般性介绍。该项目还有一篇关于维基百科本身的百科全书文章,以及一些有抱负的撰稿人的介绍。关于如何向维基百科的运营机构捐款的信息,请参阅捐赠方式。”
有人能建议我怎么做吗。提前谢谢。
发布于 2014-01-03 10:13:09
试试这个:
var splitted = text.Split(new[]{"@##@"}, StringSplitOptions.RemoveEmptyEntries);
var count = splitted.Count();
var result = string.Join("@##@", splitted.Take(2).ToArray());
计数将包含3,结果将包含所需的字符串。
试试吧,在Ideone这里
发布于 2014-01-03 10:12:58
您希望使用Split
方法。
public static Regex regex = new Regex(
"@##@",
RegexOptions.IgnoreCase
| RegexOptions.CultureInvariant
| RegexOptions.Compiled
);
string[] results = regex.Split(InputText);
发布于 2014-01-03 10:14:20
s = "... wikipedia string ...";
// define n, you probably have a dynamic n or one that's defined elsewhere...
n=2;
// split the string only n times
string[] parts = s.Split(new string[] {"@##@"}, n, StringSplitOptions.None);
// show splits (use them however you want)
System.Show(parts);
https://stackoverflow.com/questions/20901109
复制相似问题