当前位置: 首页 > 编程语言 > C#

如何使用LINQ删除字符串中的字符

时间:2023-04-10 19:34:20 C#

如何使用LINQ从字符串中删除字符我有一个像XQ74MNT8244A这样的字符串,我需要删除字符串中的所有字符。所以输出就像748244如何做到这一点?请帮我做这个newstring("XQ74MNT8244A".Where(char.IsDigit).ToArray())=="748244"两个选项。在.Net4上使用Linq(在3.5上它很相似-它没有那么多的所有方法重载):strings1=String.Concat(str.Where(Char.IsDigit));或者,使用正则表达式:strings2=Regex.Replace(str,@"D+","");我应该补充一点,IsDigit和D是Unicode感知的,因此它接受0-9以外的相当多的数字,例如"542abc??"。您可以轻松调整它们以在0到9或[^0-9]+之间进行检查。字符串值="HTQ7899HBVxzzxx";Console.WriteLine(newstring(value.Where(x=>(x>='0'&&x如果你只需要数字并且你真的想要Linq试试这个:youstring.ToCharArray().Where(x=>char.IsDigit(x)).ToArray();使用LINQ:publicstringFilterString(stringinput){returnnewstring(input.Where(char.IsNumber).ToArray());}likeSomethinglikethis?"XQ74MNT8244A".ToCharArray().Where(x=>{vari=0;returnInt32.TryParse(x.ToString(),outi);})strings="XQ74MNT8244A";varx=newstring(s.Where(c=>(c>='0'&&c为您执行此操作的扩展方法(和重载):publicstaticstringNumbersOnly(thisstringInstring){returnInstring.NumbersOnly("");}publicstaticstringNumbersOnly(thisstringInstring,stringAlsoAllowed){char[]aChar=Instring.ToCharArray();intintCount=0;stringstrTemp="";for(intCount=0;intCount-1){strTemp=strTemp+aChar[intCount];}}返回strTemp;}重载使得您可以保留“-”、“$”或“.”(如果需要)(而不是严格的数字)。使用方法:以上就是C#学习教程:如何使用LINQ删除字符串中的字符的所有内容分享,如果对大家有用,需要详细了解C#学习教程,希望大家多加关注——--字符串numsOnly="XQ74MNT8244A".NumbersOnly();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: