我想在vb.net中替换动态字符串的某个部分。我将尝试在这个例子中解释它:
我有一个像这样的STRING: &安培; 12 = 1005和14 = 96&安培; 230 = 28&安培; 1116 = 0074005&安培; 1271 = 45&安培; 1272%的 3d001002003 %2612%1276 = 1
我希望使用我在文本框(或任何其他元素)中输入的其他文本更改此部分 3d001002003 。
问题是这个STRING的字符大小有时会有所不同:
此STRING中唯一不变的是,需要更改的部分始终以 3d 开头,并且始终具有 11个字符。所以,我正在寻找的是找到以 3d 开头并包含 11个字符的字符串部分,然后将其替换为Textbox中的其他内容
提前致谢!
答案 0 :(得分:0)
尝试使用以下正则表达式
^3d(?!.* )(?=.*[\w-])[\w -]{11}$
(以3d开头,总共11个字符)
OR
^%3d[0-9]{9}%
(以%3d 开头,后面跟着总共9个数字(假设只有数字介于中间),结尾为% =总计11)
在vb.net中
示例:
Console.WriteLine(Regex.Replace("&12=15&14=96&230=28&1116=0075&1271=45&1272%3d021022023%26276=1", "%3d[0-9]{9}%", "%R%", RegexOptions.IgnoreCase))