C# 如何在ios xamarin中禁用文本字段中的空格字符
我不想允许在“显示名称”字段中输入空格 例如,如果用户键入这样的名称“name”或“name”或“name”,则最终结果应该是“name”,从而消除空格 我尝试过这种方法,但修剪似乎不起作用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
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
来确定用户是否实际输入了空格字符,而不是硬编码基于英语的文字