3 回答

TA貢獻2039條經驗 獲得超8個贊
盡管您沒有指定它,但我認為您的文件將有多行,每行都與您的描述匹配,如下所示:
00 0120
0000 0111111111
(etc.)
因此,您需要讀取每一行,使用它來解析它.Split并查找您想要的值。如果您只需要執行一次,最好是在閱讀后立即檢查每一行,使用 StreamReader,如示例所示:
using System;
using System.IO;
class Test
{
public static void Main()
{
char[] delimiterChars = { ' ', ',', '.', ':', '\t' };
using (StreamReader sr = new StreamReader(@"d:\temp\TestFile.txt"))
{
string line = sr.ReadLine();
string[] words = line.Split(delimiterChars);
if (words[0] == "00")
{
Console.WriteLine($"Found it, yay! words[0]={words[0]}, words[1]={words[1]}");
}
}
}
}
如果您想多次搜索,您可以將拆分的單詞放入某些數據結構(可能是 a)中,Dictionary而不是搜索,然后根據需要多次搜索。

TA貢獻1900條經驗 獲得超5個贊
對于您的問題1:如何找到特定值(如布爾搜索)
您必須檢查該單詞是否屬于特定類型。例如:
//?Checks?if?word?is?of?number?(change?it?as?per?your?requirement) if?(int.TryParse?(words[i],?out?int?_)?&&?int.TryParse?(words[i+1],?out?int?_))?{?...Statements...?}
對于你的問題2:如何將相應的值返回到它自己的字符串
您已經從文件中獲取了字符串形式的數據。因此,請根據需要進行存儲和處理。

TA貢獻2011條經驗 獲得超2個贊
像這樣?:
char[] delimiterChars = { ' ', ',', '.', ':', '\t' };
string text = "one\ttwo three:four,five six seven";
string[] words = text.Split(delimiterChars);
List<string> values = new List<string>();
for (int i = 0; i < words.Length; i+=2)
{
if(words.Length > i)
if (words[i].Length >= 2 && words[i].Length <= 12) {
if (words[i+1].Length >= 4 && words[i+1].Length <= 12)
{
values.Add(words[i+1]);
}
}
}
我真的不確定我是否完全理解你的問題:P
(如果我覺得不對,請發表評論,我會再次刪除答案)
- 3 回答
- 0 關注
- 212 瀏覽
添加回答
舉報