当前位置:编程学习 > C#/ASP.NET >>

請不要用substring

假如a-bcd,我就可以取到bdc.
如果a-b-cde時,我就可以取到b-cde。請用一個方法實現。 不可以用substring --------------------编程问答-------------------- 楼主这么痛恨Substring吗 --------------------编程问答--------------------
a-bcd.Replace("a-","");
--------------------编程问答--------------------

string a = "a-b-cde";
a.Skip<char>(2).ToArray()



string a = "a-b-cde";
char[] newStr = new char[a.Length - 2];
a.CopyTo(2,newStr,0,newStr.Length);


--------------------编程问答--------------------
引用 1 楼 hwenycocodq520 的回复:
楼主这么痛恨Substring吗

不是作业题就是考题。 --------------------编程问答--------------------
string a = "a-ba-cde";
a = a.TrimStart("a-".ToArray());
--------------------编程问答-------------------- 用循环,每次读取一个字符,先找到b,然后再找c。判断方法是 字符是不是a~z之间的(用65~90之间判断) --------------------编程问答--------------------
引用 4 楼 qldsrx 的回复:
Quote: 引用 1 楼 hwenycocodq520 的回复:

楼主这么痛恨Substring吗

不是作业题就是考题。

还要可能是面试题,楼主面试了没答上来 --------------------编程问答--------------------
string a = "a-b-cde";                      
            a = a.Split(new string[] { "a-" }, StringSplitOptions.None)[1];
--------------------编程问答-------------------- 正则呗 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 以a-做为分隔符 --------------------编程问答--------------------
引用 11 楼 shawn_yang 的回复:


这个匹配器能邮箱给我个吗
monkeycode@qq.com --------------------编程问答--------------------
引用 4 楼 qldsrx 的回复:
Quote: 引用 1 楼 hwenycocodq520 的回复:

楼主这么痛恨Substring吗

不是作业题就是考题。

沒有。如果用substring()。會有未知的現象發生 --------------------编程问答--------------------
引用 12 楼 kkkkkxiaofei 的回复:
以a-做为分隔符

前面的值是不定的。不一定只有a --------------------编程问答--------------------
引用 楼主 gongxindj 的回复:
假如a-bcd,我就可以取到bdc.
如果a-b-cde時,我就可以取到b-cde。請用一個方法實現。

我想說 
a-bcd,a-b-cde,b-dsd,c-d-sds.
我想要的是取第一個‘-’後面的所有值 --------------------编程问答-------------------- string a = "a-b-cde";                      
a.substring(a.indexof('-'),a.length-a.indexof('-')-1);

或则
a.Remove(0,a.indexof('-')+1);
--------------------编程问答--------------------
引用 13 楼 Yao__Shun__Yu 的回复:
Quote: 引用 11 楼 shawn_yang 的回复:



这个匹配器能邮箱给我个吗
monkeycode@qq.com


http://www.regexlab.com/zh/mtracer/ --------------------编程问答--------------------
引用 16 楼 gongxindj 的回复:
Quote: 引用 楼主 gongxindj 的回复:

假如a-bcd,我就可以取到bdc.
如果a-b-cde時,我就可以取到b-cde。請用一個方法實現。

我想說 
a-bcd,a-b-cde,b-dsd,c-d-sds.
我想要的是取第一個‘-’後面的所有值


不用substring,那就遍历吧
            string str = "a-bddfm";
            string newstr = "";
            for (int i = str.IndexOf('-') + 1; i < str.Length; i++)
            {
                newstr += str[i];
            } --------------------编程问答-------------------- 那就用Spit吧 --------------------编程问答--------------------
引用 14 楼 gongxindj 的回复:
Quote: 引用 4 楼 qldsrx 的回复:

Quote: 引用 1 楼 hwenycocodq520 的回复:

楼主这么痛恨Substring吗

不是作业题就是考题。

沒有。如果用substring()。會有未知的現象發生


未知现象?能substring出凤姐吗? --------------------编程问答-------------------- 这个实现的方式太多了吧
replace也可以

或者split

string str = "a-b-cde";
str = str.split(str.indexof("-"));


--------------------编程问答--------------------
引用 21 楼 nice_fish 的回复:
Quote: 引用 14 楼 gongxindj 的回复:

Quote: 引用 4 楼 qldsrx 的回复:

Quote: 引用 1 楼 hwenycocodq520 的回复:

楼主这么痛恨Substring吗

不是作业题就是考题。

沒有。如果用substring()。會有未知的現象發生


未知现象?能substring出凤姐吗?

不是芙蓉姐姐么?substring没问题,很明显LZ没有处理好。此外对于匹配查找,建议用正则表达式,这是基本能力要求 --------------------编程问答--------------------

string str="a-b-cde";
MatchCollection mc =Regex.Matches(str,@"\w\-(?<sub>.+?")
foreach(Match item in mc)
{
if(mc.sucesss)
{
   Console.WriteLine(item.groubs["sub"].value);
}
}

--------------------编程问答-------------------- 移位
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,