txt文件格式如下:[属性1]
参数=2210.3,12.65,115,25,420.66,445.69,0.569
[属性2]
9,0.018,2003-10,@
J01,1,3751508.5,39438683.65
J02,1,3751508.5,39438690.15
5,0.0247,2003-12,@
J01,1,3755389.7,39437380.2
怎样把属性1和属性2分离出来?属性一算是一段,属性2算是另一段,属性2中可能有多个以‘@’结尾的部分又需要分成多个小段。
我主要是想将txt分成3部分,一个是属性1和属性2之间的那一段,第二部分是以‘@’结尾的那一行到下一个以'@'结尾的那一行之前的那一段,就是示例中的第4、5、6三行,第三部分就是之后的7、8两行,也就是和第二部分差不多的,要求要是有多个‘@’结尾的部分的话要求能分成多段。不知道我说明白没有,不明白的一起讨论一下!
参数=2210.3,12.65,115,25,420.66,445.69,0.569
[属性2]
9,0.018,2003-10,@
J01,1,3751508.5,39438683.65
J02,1,3751508.5,39438690.15
5,0.0247,2003-12,@
J01,1,3755389.7,39437380.2
怎样把属性1和属性2分离出来?属性一算是一段,属性2算是另一段,属性2中可能有多个以‘@’结尾的部分又需要分成多个小段。
我主要是想将txt分成3部分,一个是属性1和属性2之间的那一段,第二部分是以‘@’结尾的那一行到下一个以'@'结尾的那一行之前的那一段,就是示例中的第4、5、6三行,第三部分就是之后的7、8两行,也就是和第二部分差不多的,要求要是有多个‘@’结尾的部分的话要求能分成多段。不知道我说明白没有,不明白的一起讨论一下!
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
namespace OperateIni
{
public class IniFile
{
private string IniFileName; [DllImport("kernel32")]
private static extern int GetPrivateProfileInt(string lpAppName, string lpKeyName,
int nDefault, string lpFileName); [DllImport("kernel32")]
private static extern int GetPrivateProfileString(string lpAppName, string lpKeyName,
string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName); [DllImport("kernel32")]
private static extern bool WritePrivateProfileString(string lpAppName,
string lpKeyName, string lpString, string lpFileName); public IniFile(string Filename)
{
IniFileName = Filename;
}
public int ReadIni(string Section,string Key,int Default)
{
return GetPrivateProfileInt(Section,Key,Default,IniFileName);
} public string ReadIni(string Section,string Key,string Default)
{
StringBuilder temp = new StringBuilder(1024);
int rec=GetPrivateProfileString(Section,Key,Default,temp,1024,IniFileName);
return temp.ToString();
} public void WriteIni(string Section,string Key,int intValue)
{
WritePrivateProfileString(Section,Key,intValue.ToString(),IniFileName);
} public void WriteIni(string Section,string Key,string strValue)
{
WritePrivateProfileString(Section,Key,strValue,IniFileName);
}
}
}
剩下的部分再用indexof找一下“@”,继续substring,应该不难吧? 正则表达式都不必用到
我也没用过,你研究一下试试