日期:2014-05-19  浏览次数:20846 次

截取字符串的问题,小妹暂时没有分,有分了补,谢谢各位!!!
有个字符串str= "aa   bb   cc   dd   ee   ff   ...   ... ",中间用空格分开。
我想把它分成三个Label1.text= "aa   bb "
                                Label1.text= "cc   dd "
                                Label1.text= "ee   ff "
                                .....

串,用空格分开,就是遇到第偶数空格就截取字符串。
C#里怎么做。


------解决方案--------------------
split没有这样的功能,只有想个变通方法来实现了:

1.先写个函数来转换下字符串:
public string Sp_String(string tmpstr)
{

string tempstr2=string.Empty;
string[] arystr=tmpstr.Split(Convert.ToChar( " "));
for(int i=1;i <=arystr.Length;i++)
{
if (i%2!=0)
{
tempstr2+=arystr[i-1]+ " ";
}
else
{
tempstr2+=arystr[i-1]+ "| ";
}

}
return tempstr2;
}

2.调用:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string[] mystr=Sp_String( "aa bb cc dd ee ff ").Split(Convert.ToChar( "| "));
Response.Write(mystr[0].ToString());
}


------解决方案--------------------
try

string yourStr = richTextBox1.Text;
MatchCollection mc = Regex.Matches(yourStr, @ "(\S+\s){2}|(\S+\s*$) ", RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value.Trim() + "\n ";
}