如何统一检查文本元素[重复]

Posted

技术标签:

【中文标题】如何统一检查文本元素[重复]【英文标题】:How to Check text element in unity [duplicate] 【发布时间】:2022-01-17 23:49:21 【问题描述】:

我有一个统一的简单场景,我有一个带输入字段的画布,我的代码很简单

using System.Collections;   
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class TextRecstriction : MonoBehaviour


    public Text text;

    public string a = "a";
    public string b = "a";
    public string c = "a";
    public string d = "a";
    public string e = "a";
    public string f = "a";
    public string g = "a";
    public string h = "a";
    public string i = "a";
    public string j = "a";
    public string k = "a";
    public string l = "a";
    public string m = "a";
    public string n = "a";
    public string o = "a";
    public string p = "a";
    public string q = "a";
    public string r = "a";
    public string s = "a";
    public string t = "a";
    public string u = "a";
    public string v = "a";
    public string w = "a";
    public string x = "a";
    public string y = "a";
    public string z = "a";
    

    // Update is called once per frame
    void Update()
    
        
    

我想添加 if 语句来检查文本元素中是否有任何字母我如何通过文本来获取文本中是否包含任何字符串

【问题讨论】:

查看重复链接...您真的想使用数组! 【参考方案1】:

如果你使用 .Contains() 方法,它会返回一个布尔值,判断字符串是否包含给定的字母。


    string textOnCanvas
    
    void update()

     if(textOnCanvas.Contains('a'))
     
      //whatever you want to happen if it does contain the letter
     

    

此外,您可以创建一个包含所有字母的数组[],并使用 for/foreach 循环检查每个字母。

public string alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ
 abcdefghijklmnopqrstuvwxyz"

 char[] alphabetArray = alphabet.ToCharArray();

 foreach(char character in alphabet)
 
   if(textOnCanvas.Contains(character)
     
      //whatever you want to happen if it does contain the letter
      //if you want the test to stop once a match has been found, you can add:
      break;//To take you out of the loop
     
 

【讨论】:

即使它是重复的(请参阅问题上的链接),这个答案仍然为 Unity 带来了特定于字母表 + ToCharArray 的价值,这使得它非常方便和可扩展.. 我仍然会而是使用 string 作为公共字段,因为它在 Unity Inspector 中比 char[] 更容易维护;) 另请注意,目前您可能还有多个匹配项 .. 公平地说,OP 没有定义在这种情况下会发生什么,但您可能希望在第一次匹配后break 高分,谢谢!

以上是关于如何统一检查文本元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何检查数组是不是包含元素[重复]

如何检查数组中之前是不是出现过元素[重复]

如何在Map java中检查元素重复[重复]

如何使用jquery检查一个元素是不是隐藏[重复]

如何检查jquery中的元素[重复]

python如何检查字符串是不是是字符串列表的元素[重复]