用C#代码,下面为一段为同一个记事本的文件内容,我需要用控制台窗体程序实现修改G114这一句
1、当找到A90时,修改X、Y的结果
2、当找到A-90时,修改X、Y的结果
3、当找到A180时,修改X、Y的结果
注意,下面文件内容在一个记事本内。
(_ 2017.9.9 17:33:21 )
( 3086-N-B1-14-C1 C-Rotation:90. )
( Mach:Small Fix:U Ele:Z- )
G132D60Q1A32M2R10U15.W1;
G101Q3Z142.75R0.25E36I107J9O10L23P2222S8T5F8;
G114Q55R55X249.Y84.Z200.499A90.;
;
;
( 3086-N-B1-14-C1 C-Rotation:-90. )
( Mach:Small Fix:U Ele:Z- )
G132D60Q1A32M2R10U15.W1;
G101Q3Z142.75R0.25E36I107J9O10L23P2222S8T5F8;
G114Q55R55X31.3Y186.2Z200.499A-90.;
;
;
( 3086-N-B1-14-C1 C-Rotation:-90. )
( Mach:Small Fix:U Ele:Z- _)
G132D60Q1A32M2R10U15.W1;
G101Q3Z142.75R0.25E36I107J9O10L23P2222S8T5F8;
G114Q55R55X31.3Y186.2Z200.499A180.;
C0.;
M30;
string[] lines = File.ReadAllLines("c:\\1.txt");
//此时lines数组对应你的文件内容,每一行就是一个下标。
lines[xxx] = 新的内容
File.WriteAllLines(文件名, lines); //写回去
class Program
{
static void Main(string[] args)
{
var p1 = "G114\\S+A90";
var p2 = "G114\\S+A-90";
var p3 = "G114\\S+A180";
var lines=System.IO.File.ReadAllLines("info.txt");
foreach(var line in lines)
{
if(Regex.IsMatch(line, p1))
{
Console.WriteLine(ReplaceValue(line, "X", "XXXXX"));//替换X
}
}
}
/// <summary>
/// 值替换
/// </summary>
/// <param name="input">替换输入</param>
/// <param name="src">要替换的字符串</param>
/// <param name="dst">替换成的字符串</param>
static string ReplaceValue(string input, string src, string dst)
{
return input.Replace(src, dst);
}
}