做一个项目,需要用到字符串截取功能。我要的效果是截取指定字符串之间的字符串,试了一种办法,得到的指定字符串前前后后的字符串,这可不是我要的效果。然后百度了好久,最后问同事怎么说实现。同事看了我原先写的那个代码,,说这个就可以实现,只不过是我取错了。于是乎,,我恍然大悟。
下面是我代码片段:
string str = "员工工号是[empid],任职于[deptid],姓名是[empcname]。";
string[] sArray = str.Split(new char[2] { '[' , ']' });
string Array = "";
for (int i=0;i< sArray.Length;i++)
{
Array = Array + sArray[i] + ",";
}
这种 ‘[’ ,’]’ 得到的是效果是: 员工工号是,empid,,任职于,deptid,,姓名是,empcname,。,
换成 string[] sArray = str.Split(new char[1] { ‘]’ });
这种 ‘]’ 得到的是效果是 : 员工工号是[empid,,任职于[deptid,,姓名是[empcname,。,
都不是我要的效果,其实正确取得自己需要的进行拼接就成功了。
string str = "员工工号是[empid],任职于[deptid],姓名是[empcname]。";
string[] sArray = str.Split(new char[2] { '[' , ']' });
string Array = "";
for (int i=0;i< sArray.Length;i++)
{
if (i % 2 == 1)
{
Array += sArray[i] + ",";
}
}
if (Array.Length > 0)
{
Array = Array.Substring(0, Array.Length - 1);
}
得到的效果是: empid ,deptid,empcname
大功告成!