c#字符串模糊查找
string[]st={"[2]","[3]","4","5","6"};我想找到有“[]”元素,并且去掉“[]”放到一个新的数组中,应该是string[]st1={"2...
string[] st = { "[2]","[3]","4","5","6"};
我想找到有“[]”元素,并且去掉“[]”放到一个新的数组中,应该是string[] st1={"2","3"};这个应该怎么做。 展开
我想找到有“[]”元素,并且去掉“[]”放到一个新的数组中,应该是string[] st1={"2","3"};这个应该怎么做。 展开
2个回答
展开全部
如果只是这么简单的结构的话,可以这样做:
string[] st = { "[2]", "[3]", "4", "5", "6" };
string[] st1 = st.Where(s => s.StartsWith("[") && s.EndsWith("]")).Select(s => s.Substring(1, s.Length - 2)).ToArray();
追问
可以详细的加个备注吗?
追答
s=>s.StartsWith("[") && s.EndsWith("]")是一个lambda表达式,也就是一个方法,就是判断字符串是否是从[开始,从]结束。
st.Where是linq的筛选方法,它接收一个方法,这个方法拥有一个为列表中元素类型的输入参数,返回bool类型,根据这个方法进行筛选。
Select是linq的选择方法,它也接收一个方法,linq将每一个元素作为一个参数调用这个方法,将返回至合并成列表返回。
s=>s.Substring(1,s.Length-2)也是一个lambda表达式,它将第一个和最后一个字符去掉之后的字符串输出。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询