我需要一个c#程序,它可以拆分字符串并将一些特定的信息复制到另一个文件中。
我有一个这样的文本文件:
BRIDGE.V2014R6I1.SOFT
icem.V4R12I2.SOFT
mygale.V4R1I1.SOFT,patch01_MAJ_APL.exe
photoshop.V2014R10I1.SOFT
rhino.V5R0I1.SOFT,patch01_Update_Files.exe
TSFX.V2R3I2.SOFT,patch01_corrections.exe,patch02_clock.exe,patch03_correction_tri_date.exe,patch04_gestion_chemins_unc.exe
我只需将其中一些信息放入另一个文件中,如下所示:
BRIDGE,SOFT
ICEM,SOFT
MYGALE,SOFT
PHOTOSHOP,SOFT
任何帮助请:)
答案 0 :(得分:0)
我会拆分字符串,并创建一个新文件,其中包含从拆分中获得的数组部分。
您可以使用例如分割字符串。 Split(".");
然后,例如创建一个新字符串stringname = splitstring[0] + "," + splitstring[2]
这会将第一和第三部分重新加在一起。 这适用于你的第一行。
答案 1 :(得分:0)
我不知道,你的文本文件总是这样,我只能提供一个具体的答案。首先,正如ThatsEli所指出的那样,你必须在这一点上拆分字符串:
var res = $"{splitted[0]},{splitted[2].Split(",")[0]}";
现在,似乎您的第二个(基于零的索引)项目具有与相关分割的逗号无关的信息。所以你所要做的就是将第0和第二部分组合在一起,而第二部分只有逗号之前的第一部分:
var resUpper = res.ToUpper();
但是,您似乎希望结果为大写:
var path = @"Your\Path\To\The\Input\File";
if (!File.Exists(path))
{
Console.WriteLine("File doesn't exist! If you're using a console, otherwise use another way to print error messages");
return;
}
var inputString = File.ReadAllText(path);
但实际上这只有你有一个完美的输入文件才有效 - 否则你必须检查,它实际上有很多项目,或者你得到一个 IndexOutOfRange 异常。 / p>
实际上,我不确定您是否知道如何读取/写入文件,因此我也会提供相关示例。
<强>读取强>
var outputPath = @"your\Output\Path";
if(!File.Exists(outputPath))
{
Console.WriteLine("You know what to put here");
return;
}
File.WriteAllText(outputPath, inputString);
<强>写强>
{{1}}