using System.Text.RegularExpressions; using CodePlay.Core.Interfaces; using CodePlay.Core.Models; namespace CodePlay.Core.Pipeline.Converters; /// /// Range 和 Index 操作符转换器 /// public class RangeIndexConverter : ILineConverter { public int Priority => 100; public string Convert(string line, ConversionContext context) { var result = line; result = Regex.Replace(result, @"(\w+)\s*\[\s*(\d+)\s*\.\.\s*(\d+)\s*\]", "$1.substring($2, $3)"); result = Regex.Replace(result, @"(\w+)\s*\[\s*\^\s*(\d+)\s*\]", "$1.charAt($1.length() - $2)"); result = Regex.Replace(result, @"(\w+)\s*\[\s*\.\.\s*\]", "$1"); return result; } }