C# 如何在ios xamarin中禁用文本字段中的空格字符

C# 如何在ios xamarin中禁用文本字段中的空格字符,c#,ios,xamarin,C#,Ios,Xamarin,我不想允许在“显示名称”字段中输入空格 例如,如果用户键入这样的名称“name”或“name”或“name”,则最终结果应该是“name”,从而消除空格 我尝试过这种方法,但修剪似乎不起作用 NameText.EditingDidEnd += delegate { char[] arr = new char[] {' '}; NameText.Text.TrimStart(arr); ScrollPageForKeyboar

我不想允许在“显示名称”字段中输入空格

例如,如果用户键入这样的名称“name”或“name”或“name”,则最终结果应该是“name”,从而消除空格

我尝试过这种方法,但修剪似乎不起作用

NameText.EditingDidEnd += delegate {
            char[] arr = new char[] {' '};
            NameText.Text.TrimStart(arr);
            ScrollPageForKeyboard(false);
        };

在这里使用
String.Trim()
方法应该可以很好地工作:

NameText.EditingDidEnd += delegate
{
    var trimmedName = DisplayNameText.Text.Trim();
    ScrollPageForKeyboard(false);
};
您还可以使用
Regex
完全替换所有空白:

NameText.EditingDidEnd += delegate
{
    var trimmedName = Regex.Replace(DisplayNameText.Text, @"\s+", "");
    ScrollPageForKeyboard(false);
};

在这里使用
String.Trim()
方法应该可以很好地工作:

NameText.EditingDidEnd += delegate
{
    var trimmedName = DisplayNameText.Text.Trim();
    ScrollPageForKeyboard(false);
};
您还可以使用
Regex
完全替换所有空白:

NameText.EditingDidEnd += delegate
{
    var trimmedName = Regex.Replace(DisplayNameText.Text, @"\s+", "");
    ScrollPageForKeyboard(false);
};

如果只想删除前导空格和尾随空格(“名称”或“名称”),请使用:

DisplayNameText.Text = DisplayNameText.Text.Trim() 
按照评论中的建议。如果要删除所有空格(“John Smith”=“JohnSmith”),请使用

DisplayNameText.Text = DisplayNameText.Text.Replace(" ", "") 

要删除所有空格。

如果只想删除前导空格和尾随空格(“名称”或“名称”),请使用:

DisplayNameText.Text = DisplayNameText.Text.Trim() 
按照评论中的建议。如果要删除所有空格(“John Smith”=“JohnSmith”),请使用

DisplayNameText.Text = DisplayNameText.Text.Replace(" ", "") 

删除所有空格。

我建议防止用户实际输入空格,而不是在所有人都准备好后删除空格

添加一个
ShouldChangeCharacters
处理程序,并检查它们是否正在输入由
NSCharacterSet.WhitespaceAndNewlines定义的空白字符集中的任何字符

NameText.ShouldChangeCharacters += (UITextField textField, NSRange range, string replacementString) =>
{
    foreach (var aChar in replacementString)
    {
        if (NSCharacterSet.WhitespaceAndNewlines.Contains(aChar))
            return false;
    }
    return true;
};

我建议防止用户实际输入空格,而不是在他们都准备好了之后将其删除

添加一个
ShouldChangeCharacters
处理程序,并检查它们是否正在输入由
NSCharacterSet.WhitespaceAndNewlines定义的空白字符集中的任何字符

NameText.ShouldChangeCharacters += (UITextField textField, NSRange range, string replacementString) =>
{
    foreach (var aChar in replacementString)
    {
        if (NSCharacterSet.WhitespaceAndNewlines.Contains(aChar))
            return false;
    }
    return true;
};

为什么不在
DisplayNameText.Text
值上的事实之后执行
.Trim()
,假设它是一个字符串?这将去除字符串的所有前导和尾随空格。
string.Trim()
将修剪字符串开头和结尾的所有空格。您的
DisplayNameText.Text.TrimStart(arr)
正在返回需要存储的输出字符串:
DisplayNameText.Text=DisplayNameText.Text.TrimStart(arr)
Regex.Replace(yourtext,@“\s”和“”)
我不会担心所有额外的东西,只要使用string.Replace function为什么不在
DisplayNameText.Text
值上做一个
.Trim()
呢,假设它是一个字符串?这将去除字符串的所有前导和尾随空格。
string.Trim()
将修剪字符串开头和结尾的所有空格。您的
DisplayNameText.Text.TrimStart(arr)
正在返回需要存储的输出字符串:
DisplayNameText.Text=DisplayNameText.Text.TrimStart(arr)
Regex.Replace(yourtext,@“\s”和“”)
我不会担心所有额外的东西,只使用字符串。替换函数您不需要
char[]arr
这里我建议使用
shouldchangeharacters
首先防止空白,而不是允许输入空白字符然后删除它们。您还应该使用
NSCharacterSet.whitespace和newlines
来确定用户是否实际输入了空白字符,而不是硬编码基于英语的文字。您不需要
char[]arr
这里我建议首先使用
shouldchangehacters
来防止空白,而不是允许输入空白字符,然后删除它们。您还应该使用
NSCharacterSet.whitespace和newlines
来确定用户是否实际输入了空白字符,而不是硬编码基于英语的文字。我建议首先使用
shouldchangeharacters
来防止空白,而不是允许输入空白字符,然后删除它们。您还应该使用
NSCharacterSet.whitespace和newlines
来确定用户是否实际输入了空格字符,而不是硬编码基于英语的文字。建议首先使用
ShouldChangeCharacters
来防止空白,而不是允许输入空白字符,然后删除它们。您还应该使用
NSCharacterSet.whitespace和newlines
来确定用户是否实际输入了空格字符,而不是硬编码基于英语的文字