我可以从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);
}
}
答案 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];