unity3d 如何使用Split(“\n”)在Unity中读取单行

hgc7kmma  于 2022-12-13  发布在  其他
关注(0)|答案(2)|浏览(224)

我尝试使用TextMeshProInputField在Unity中读取.txt文件,但无法使用Split(“\n”)读取单行
我试图将.txt文件与从InputField获得的文本进行比较。
lines = textField.text.Split("\n");
我无法读取单行,因为输入字段中没有任何新行字符串。
下面是我的代码,用于比较输入字段与我拥有的.txt文件。
`

for (int j = originalData.Count - 1; j > -1; j--)
        {
            for (int i = 0; i < ReadTXT.readTXT.originalFile.Count; i++)
            {
                if (ReadTXT.readTXT.originalFile[i]==originalData[j])
                {
                    Debug.Log("Original file is" + ReadTXT.readTXT.originalFile[i] + "Removing file is" + originalData[j]);
                }
            }

        }

`

oxcyiej7

oxcyiej71#

您可以使用ReadAllLines读取文件的所有行:

string[] lines = File.ReadAllLines(@"file.txt");

 foreach(string line in lines)
 {
    //DoSomething(line);
 }
nbnkbykc

nbnkbykc2#

如果我没理解错你的问题的话。你要找的是这样的东西。
读取文件,按新行字符拆分内容,然后将每一行与文本框文本进行比较。

string str = File.ReadAllText("yourFileName");

var lines = str.Split(Environment.NewLine);
foreach ( var line in lines )
{
    if(textField.text == line)
    {

    }
}

您还可以使用ReadAllLines,它将每行的string[]作为项

相关问题