2012-09-26 53 views
1

可能重复:
How to split string preserving whole words?C# - 如何分割字符串

我有以下字符串:

string s = "The Electors shall meet in their respective states to vote by ballot for President and Vice-President."; 

我要采取的第一个60个字符,将它们分成两个单独的字符串,每个字符串不超过30个字符每个字符串必须以整个单词开头(不包含部分单词,也不包含空格)。所以这是期望的结果:

string s1 = "The Electors shall meet in"; // 26 characters 
string s2 = "their respective states to vot"; // 30 characters 

谢谢。

+4

这个问题已经在这里回答了http://stackoverflow.com/questions/4398270/how-to-split-string-preserving-whole-words。 –

回答

0
string s = "The Electors shall meet in their respective states to vote by ballot for President and Vice-President."; 

string sSub = s.Substring(0,60); //first 60 letters 

string sSubSub = sSub.Substring(0,30); //at most 30 per string 

int index = sSubSub.LastIndexOf(' '); //finds the last space 

string firstString = sSub.Substring(0,index); //first string is up until that space of t he 60-letter string 

string secondSTring = sSub.Substring(index + 1, 30); //second string is the first 30 letters of the rest of the 60-letter string 
+0

明白了。谢谢。刚把secondString改成'sSub.Substring(index + 1,30);' – user1481183

+0

@ user1481183哦,是的,哎呀。很好的接收。 –

0

也许尝试计算中点,然后在两个方向上工作,直到找到空间。那就是你的分裂点。