如何从字符串中删除字符和特殊符号

时间:2014-09-24 12:18:27

标签: c# string

我有一个字符串,其中包含CharacterNumeral格式的值以及<>等特殊字符。因此,根据我的要求,我必须删除这些特殊字符和来自字符串的Character

这是字符串示例..

string s = "O9668253";
string s2 = "<O>9668253";

我需要输出......

string s = "9668253";
string s2 = "9668253";

那么我怎么能在这里得到这个。请帮助我..

2 个答案:

答案 0 :(得分:3)

您可以使用LINQ。如果我理解正确你只想要数字:

string s = "<O>9668253";
string nums = new string(s.Where(char.IsDigit).ToArray());

或者如果你想要信件:

string s = "<O>9668253";
string lettersAndNums = new string(s.Where(char.IsLetterOrDigit).ToArray());

如果你想要非数字,只需否定它。你必须写出lambda表达式:

string s = "<O>9668253";
var nums = new string(s.Where(c => !char.IsDigit(c)).ToArray());

答案 1 :(得分:1)

类似的问题:How do I remove all non alphanumeric characters from a string except dash?

假设您要删除所有非数字字符:

用空字符串替换[^ 0-9]。

Regex rgx = new Regex("[^0-9]");
str = rgx.Replace(str, "");

@Steve - 感谢指出错误