日期:2014-05-18  浏览次数:20946 次

简单字符串问题求教,马上结贴!
有字符串,其中用“,”分割!
string i=“xx,xxx,x,xxx,xxxxxx,xxxxx,xxxxxx,xxxxx,xxxxxxxxx,”
请问如果用C#取得第5个逗号之前的字符?
即“xx,xxx,x,xxx,xxxxxx,”
谢谢!

------解决方案--------------------
foreach(string str in i.Split(','))
{
//str...
}
------解决方案--------------------
string arr=i.split(',');
string ss="";
int n=5;
if(ss.Lenght<5)
n=ss.Length;
for(j=0;j<=n;j++)
{
ss+=arr[j]+",";
}
------解决方案--------------------
这个,,,,没有开发环境不会打那个代码

string里有些方法能实现的

就是查找子串,找子串有几种找方,有个方法是找第几个的子串反回它的位置(在主串中的)
再用string的另一个方法就是按位置取子串了


------解决方案--------------------
C# code

string str = "xx,xxx,x,xxx,xxxxxx,xxxxx,xxxxxx,xxxxx,xxxxxxxxx,";
string[] arr = str.Split(",", 6);
/*
返回
arr[0] xx
arr[1] xxx
arr[2] x
arr[3] xxx
arr[4] xxxxxx
arr[5] xxxxx,xxxxxx,xxxxx,xxxxxxxxx,
*/

------解决方案--------------------
C# code
string i = "xx,xxx,x,xxx,xxxxxx,xxxxx,xxxxxx,xxxxx,xxxxxxxxx";
        string[] str = i.Split(',');
        string newstr = "";
        if (str.Length >= 5)
        {
            for (int j = 0; j < 5; j++)
            {
                newstr = newstr + str[j].ToString()+",";
            }
        }
        Response.Write(newstr);

------解决方案--------------------
5L正解
------解决方案--------------------
string str = "a,b,c,d,e,f,g,h,i,g,k,j";
string[] str1 = str.Split(',');
string strTemp = "";
for (int i = 0; i < 5; i++)
{
strTemp += str1[i] + ",";
}
Label1.Text = strTemp;
------解决方案--------------------
string str="xx,xxx,x,xxx,xxxxxx,xxxxx,xxxxxx,xxxxx,xxxxxxxxx,"
char[] chr=str;
string result="";
for(int i=0;i<str.length;i++)
{
result=result+chr[i]; 
if(chr[i]==',')
{
i++;
}
if(i==5)
return result;
 
}
------解决方案--------------------
正则
".*?,{5}"
------解决方案--------------------
string[] arr = str.Split(",", 6);