使用String.Concat时如何保留空格

时间:2019-06-17 09:18:32

标签: c# string

为了防止用户输入字母或数字以外的其他内容,我正在使用

ion-item.item-md{
    background-color: red;
}

但是,我想防止Concat方法删除空格,并且Concat方法不使用多个参数。有什么建议吗?也许Regex会更聪明?

4 个答案:

答案 0 :(得分:4)

空格字符不是字母或数字,因此您需要更改Where子句,例如:

string.Concat(textbox.Text.Where(c => char.IsLetterOrDigit(c) || c == ' '));

答案 1 :(得分:3)

不是Concat正在删除空格。 Where正在删除空格,因为空格既不是字母也不是数字。

您只需要修改Where

string.Concat(textbox.Text.Where(x => char.IsLetterOrDigit(x) || char.IsWhiteSpace(x) ));

由于您提到了正则表达式,因此可以使用以下正则表达式:

[^\p{L}\p{Nd}\s]

Regex.Replace以上带有空字符串,您将得到结果:

Regex.Replace(input, "[^\\p{L}\\p{Nd}\\s]", "")

答案 2 :(得分:1)

是的,您可以使用regex

Regex.Replace(textbox.Text, @"[^a-zA-Z0-9]", "");

答案 3 :(得分:0)

为了防止用户输入字母或数字之外的其他内容,我正在使用...

实际上,您不会阻止用户输入任何内容,而是会转换/过滤用户所做的输入(并删除那里不需要的字符)。从用户的角度来看,这很容易造成混淆,并可能导致不良行为,最好是验证输入并向用户显示一些通知/信息,表明他输入的内容无效。