Unity中如何去除输入框内用户输入内容的所有空白字符?
去除字符串中所有空白字符的方法(C#/Unity)
一、最简单的内置方法:直接替换空格
如果只需要处理普通空格(用户输入的空格),用string.Replace()一行代码就能搞定:
// input是从输入框拿到的用户答案 string cleanedInput = input.Replace(" ", "");
比如输入" 3 / 4",处理后会变成"3/4",直接和标准答案对比即可。
二、处理所有空白类字符(含制表符、换行)
如果要覆盖所有空白类型(比如用户不小心输入了制表符、换行符),用正则表达式更稳妥,记得先引用命名空间:
using System.Text.RegularExpressions; // 去除所有空白字符(空格、制表符、换行等) string cleanedInput = Regex.Replace(input, @"\s", "");
这里的\s是正则的特殊符号,能匹配所有空白类字符,通用性更强。
三、自定义方法(适合理解原理)
如果想自己实现过滤逻辑,遍历字符串的每个字符,只保留非空白内容:
public static string RemoveAllWhitespace(string input) { StringBuilder sb = new StringBuilder(); foreach (char c in input) { if (!char.IsWhiteSpace(c)) { sb.Append(c); } } return sb.ToString(); }
用StringBuilder比直接拼接字符串效率更高,适合频繁处理输入的场景。
使用示例
拿到输入框内容后先处理,再和标准答案对比:
// 从Unity输入框获取用户输入 string userInput = yourInputField.text; // 处理空白(选上面任意一种方法即可) string processedInput = RemoveAllWhitespace(userInput); // 对比标准答案 if (processedInput == correctAnswer) { // 答对逻辑,比如加分、提示正确 }
内容的提问来源于stack exchange,提问作者alfalfa
相关产品推荐
相关产品推荐

