如何在文本文件中找到indexof subsof

时间:2013-01-18 00:19:56

标签: c# substring

我已经使用VS 2008将asp.net c#项目转换为框架3.5.app的目的是解析包含许多类似信息的文本文件,然后将数据插入数据库。

我没有编写原始应用程序,但开发人员使用substring()来获取单个字段,因为它们始终位于相同的位置。

我的问题是:

在不必手动计算位置的情况下,在文本文件中查找子字符串索引的最佳方法是什么?有人有他们用来在文本文件中找到字符位置的首选方法吗?

4 个答案:

答案 0 :(得分:0)

我会IndexOf() / IndexOfAny()Substring()一起说。或者,regular expressions。该文件具有类似XML的结构this

答案 1 :(得分:0)

如果文件以逗号分隔,则可以使用string.Split

如果数据是:string [] text = {“1,apple”,“2,orange”,“3,lemon”};

    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;
    }
}

答案 2 :(得分:0)

您可以使用indexOf()然后使用Length()作为第二个子字符串参数

substr = str.substring(str.IndexOf("."), str.Length - str.IndexOf("."));

答案 3 :(得分:0)

我正在阅读的文本文件不包含分隔符 - 有时字段之间有空格,有时它们一起运行。在任何一种情况下,每一行的格式都相同。当我问问题时,我正在记事本中查看文件。

问题是:如何在文件中找到位置,以便可以将位置(数字)指定为我的子串函数的startIndex?

答:我发现在 notepad ++ 中打开文本文件将显示文本中光标所在位置的列#和行数,使这项工作更容易。