怎样使用批处理实现文本的替换,批量文本.nc

img

G00 X-5. Y-5. S10000 M03
G43 Z10. H01
Z-1.
G1 Y55. F500.
X55.
Y-5.
X-5.
G00 Z10.
Z-2.
G1 Y55.
X55.
Y-5.
X-5.
G00 Z10.
Z-3.
G1 Y55.
X55.
Y-5.
X-5.
G00 Z10.

运行环境:
.Net 6
运行效果:

img

// See https://aka.ms/new-console-template for more information
using System.Text.RegularExpressions;

var inputStr = @"G00 X-5. Y-5. S10000 M03
G43 Z10. H01
Z-1.
G1 Y55. F500.
X55.
Y-5.
X-5.
G00 Z10.
Z-2.
G1 Y55.
X55.
Y-5.
X-5.
G00 Z10.
Z-3.
G1 Y55.
X55.
Y-5.
X-5.
G00 Z10.";
var xyArr = Regex.Matches(inputStr, "([XY])(.*?)[ \r\n]");
foreach (Match xy in xyArr)
{
    var old = xy.Value.Trim();
    var key = xy.Groups[1].ToString();
    var value = xy.Groups[2].ToString();
    var index = key == "X" ? 1 : 2;
    inputStr = inputStr.Replace(old, $"{key}[{value}*#{index}]");
}
Console.WriteLine(inputStr);