我已經使用VS 2008將asp.net c#項目轉換爲framework 3.5。應用程序的目的是解析包含許多相似信息行的文本文件,然後將數據插入數據庫。如何在文本文件中找到子字符串的索引
我沒有寫原創應用程序,但開發人員使用substring()來獲取單個字段,因爲它們始終始於相同的位置。
我的問題是:
什麼是找到在文本文件中字符串的索引,而不必手動計數位置最好的方法是什麼?某人是否有首選方法來查找文本文件中的字符位置?
我已經使用VS 2008將asp.net c#項目轉換爲framework 3.5。應用程序的目的是解析包含許多相似信息行的文本文件,然後將數據插入數據庫。如何在文本文件中找到子字符串的索引
我沒有寫原創應用程序,但開發人員使用substring()來獲取單個字段,因爲它們始終始於相同的位置。
我的問題是:
什麼是找到在文本文件中字符串的索引,而不必手動計數位置最好的方法是什麼?某人是否有首選方法來查找文本文件中的字符位置?
的文本文件,我讀不包含分隔符 - 有時領域,有時之間的空間他們一起跑。無論哪種情況,每一行的格式都是一樣的。當我問我在記事本中查看文件的問題時。
問題是:你如何找到文件中的位置,以便可以將位置(數字)指定爲我的子字符串函數的startIndex?
回答:我發現在記事本++中打開文本文件將顯示光標位於文件中的任何位置的列號和行計數,並使這項工作更容易。
我會說IndexOf()
/IndexOfAny()
連同Substring()
。或者,regular expressions。它的文件具有類似於XML的結構,this。
如果文件以逗號定界例如可以使用string.Split
如果數據是:串[]文本= { 「1,蘋果」, 「2,橙」, 「3,檸檬」} ;
private void button1_Click(object sender, EventArgs e)
{
string[] lines = this.textBoxIn.Lines;
List<Fruit> fields = new List<Fruit>();
foreach(string s in lines)
{
char[] delim = {','};
string[] fruitData = s.Split(delim);
Fruit f = new Fruit();
int tmpid = 0;
Int32.TryParse(fruitData[0], out tmpid);
f.id = tmpid;
f.name = fruitData[1];
fields.Add(f);
}
this.textBoxOut.Clear();
string text=string.Empty;
foreach(Fruit item in fields)
{
text += item.ToString() + " \n";
}
this.textBoxOut.Text = text;
}
}
可以使用的indexOf(),然後使用長度()作爲第二個子參數
substr = str.substring(str.IndexOf("."), str.Length - str.IndexOf("."));
我想推薦正則表達式'REGEX'。 – Greg