我需要对动态生成的字符串进行一些修改;
字符串示例
产品[279]电动喷漆器[21]喷枪设备[109]喷涂设备[23]迷你空气压缩机[33]喷砂枪[5]喷漆罐[9]空气喷枪[26]气动工具/气动工具[26]轮胎充气枪[10]气动铆钉[6]手动工具[7]梳子/毛刷[4]
我想从头开始删除“产品[279] ”(除了数字之外总是相同)并替换字符串的其余部分,例如“电动喷漆器[21] - 喷枪设备[109] - ......“
答案 0 :(得分:1)
<强> Demo 强>
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]
答案 1 :(得分:0)
您可以使用String.Remove或String.Replace来执行此操作。请记住,这不会修改该字符串,但会返回一个新字符串。
哦,要找到Products [XXX],你可以使用String.SubString(0,String.IndexOf(']'));查找包含']'的第一个实例的字符串。
答案 2 :(得分:0)
请按以下步骤操作:
^\w+\s+\[\d+\]\s+
(在示例中删除Products [279]<space>
); (?<\])(?=\s+.)
替换为<space>-
。