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
运行效果:
// 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);