Regex和替换字符串的特定字段

本文关键字:字段 字符串 替换 Regex | 更新日期: 2023-09-27 18:19:36

我需要对动态生成的字符串进行一些修改;

字符串示例

产品[279]电动喷漆器[21]气刷设备[109]喷漆设备[23]迷你空气压缩机[33]喷砂枪[5]油漆罐[9]空气喷枪[26]气动工具/气动工具[26]轮胎充气枪[10]空气铆钉机[6]手动工具[7]梳子/发刷[4]

我想从一开始删除"产品[279]"(除数字外始终相同),并替换字符串的其余部分,如"电动喷漆器[21]-气刷设备[109]-…"

Regex和替换字符串的特定字段

演示

String sample = @"Products [279] Electric Paint Sprayer [21] Airbrush Equipment [109] Spray Tanning Equipment [23] Mini Air Compressor [33] Sand blasting gun [5] Paint Tank [9] Air Spray Gun [26] Pneumatic tools/Air tools [26] Tire Inflating gun [10] Air Riveter [6] Hand Tools [7] Comb/Hair Brush [4]";
// Remove "Products [#] "
sample = Regex.Replace(sample, @"^Products '['d+']'s*", String.Empty);
// Add hyphens
sample = Regex.Replace(sample, @"('['d+'])(?='s*'w)", @"$1 - ");
// the (?='s*'w) makes sure we only add a hyphen when there's more information
// ahead (and not a hyphen to the end of the string)

结果:

电动喷漆器[21]-气刷设备[109]-喷漆设备[23]-迷你空气压缩机[33]-喷砂枪[5]-喷漆罐[9]-空气喷枪[26]-气动工具/气动工具[26]-轮胎充气枪[10]-气动铆钉机[6]-手动工具[7]-梳子/发刷[4]

您可以使用String.Remove或String.Replace来执行此操作。请记住,这不会修改该字符串,而是返回一个新字符串。

哦,要查找Products[XXX],可以使用String.SubString(0,String.IndexOf(']'));查找包含"]"的第一个实例的字符串。

按以下步骤进行:

  • 不使用任何内容替换^'w+'s+'['d+']'s+(在您的示例中删除Products [279]<space>
  • 将CCD_ 3全局替换为CCD_