C# C输入字符串的格式不正确
我意识到这是一个经常重复的问题,但我和其他20个问题一样读过,找不到答案 我试图解析一个文本文件,在第一行得到一个字符串不正确的异常。该文件位于Unity的TextAsset中,因此为file.text。此操作将以字符串形式返回文件内容 第[0]行被正确读取到15,Debug.Log在第4行返回2,因此拆分后没有多余的字符 代码: 这是同一个文件,其中显示了空格字符:C# C输入字符串的格式不正确,c#,parsing,text,text-files,C#,Parsing,Text,Text Files,我意识到这是一个经常重复的问题,但我和其他20个问题一样读过,找不到答案 我试图解析一个文本文件,在第一行得到一个字符串不正确的异常。该文件位于Unity的TextAsset中,因此为file.text。此操作将以字符串形式返回文件内容 第[0]行被正确读取到15,Debug.Log在第4行返回2,因此拆分后没有多余的字符 代码: 这是同一个文件,其中显示了空格字符: 我不知道如何粘贴,所以这只是Word的一个屏幕截图。您可以使用正则表达式确保字符串中不包含非数字 List<List<
我不知道如何粘贴,所以这只是Word的一个屏幕截图。您可以使用正则表达式确保字符串中不包含非数字
List<List<int>> lines = File.ReadLines(filename)
.Select(line => Regex.Matches(line, @"\d+")
.Cast<Match>()
.Select(m => int.Parse(m.Value)).ToList())
.ToList();
如何读取该文件?请使用int.Parselines[0]进行尝试。Trim@Eser不幸的是,特里姆没有work@DanielA.White我正在使用Unity Text Asset读取文件注意,循环中存在索引超出数组边界的问题。我得到一个错误,读取行未定义。我让它与我的代码的一部分一起以ReadAllLine方式工作,以进一步分割行。我想避免在字符串中使用文件名,但我想现在必须这样做。谢谢
15
15
2 0 0 3 0 0 0 2 0 0 0 3 0 0 2
0 1 0 0 0 4 0 0 0 4 0 0 0 1 0
0 0 1 0 0 0 3 0 3 0 0 0 1 0 0
3 0 0 1 0 0 0 3 0 0 0 1 0 0 3
0 4 0 0 1 0 0 0 0 0 1 0 0 0 0
0 0 3 0 0 4 0 0 0 4 0 0 0 4 0
0 0 0 0 0 0 3 0 3 0 0 0 3 0 0
2 0 0 3 0 0 0 1 0 0 0 3 0 0 2
0 0 3 0 0 0 3 0 3 0 0 0 3 0 0
0 4 0 0 0 4 0 0 0 4 0 0 0 4 0
0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
3 0 0 1 0 0 0 3 0 0 0 1 0 0 3
0 0 1 0 0 0 3 0 3 0 0 0 1 0 0
0 1 0 0 0 4 0 0 0 4 0 0 0 1 0
2 0 0 0 0 0 0 2 0 0 0 0 0 0 2
#0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
# 1 - DW
# 2 - TW
# 3 - DL
# 4 - TL
List<List<int>> lines = File.ReadLines(filename)
.Select(line => Regex.Matches(line, @"\d+")
.Cast<Match>()
.Select(m => int.Parse(m.Value)).ToList())
.ToList();