如何从String读取特定行? Unity C#

时间:2018-05-03 04:28:51

标签: c# android string unity3d

我可以从Unity中的String文件中读取特定行吗?更具体地说,我可以将一个特定的行从String分配给另一个String吗?

基本上我想要实现的是从互联网下载文本文件,测量其中的行数,然后将随机行分配给另一个字符串。 到目前为止,我已经设法下载了String并测量了有多少行,但我无法弄清楚如何读取特定的字符串行。

当前代码(下载文本文件,分配给String变量并测量行数):

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

    public class PickRandomLine : MonoBehaviour {
        string teksts;
        string url = "http://website.com/teksts.txt";

        public void Zajebal(){
            StartCoroutine (LudzuBled ());
        }

        IEnumerator LudzuBled(){
            yield return 0;
            WWW teksts2 = new WWW(url);
            yield return teksts2;
            teksts = teksts2.text;
            print (teksts);
            int numLines = teksts.Split('\n').Length;
            print ("linijas: " + numLines);
    }
}

1 个答案:

答案 0 :(得分:1)

你快到了。

// this gives you all the lines in a string array
var lines = teksts.Split('\n');

// assign a specific line by index
var specificLine = lines[0];

另外,你提到想要“分配随机行”。我不知道你的字面意思是否正确,但如果是这样的话,那就让我们更进一步:

// get your random number between zero and the number of lines
var random = new Random();
var randomNumber = random.Next(0, numLines);

// assign a random line by index
var randomLine = lines[randomNumber];