假设我有这样的文件:
EN;05;UK;55;EN;66;US;87;US;89;EN;66;UK;87;
我想删除所有EN
次出现,因此最终字符串应为:
UK;55;US;87;US;89;UK;87;
我可以使用EN
删除string.Replace("EN", "")
但是如何删除号码?
答案 0 :(得分:0)
您可以使用正则表达式:
string output = Regex.Replace(input, "EN\\;\\d{2}\\;", "");
其中input
是您的字符串,EN; 05;英国; 55; EN; 66;美国; 87;美国; 89; EN; 66;英国; 87;。
答案 1 :(得分:0)
我会建议不使用RegEx的替代方案。如果缩写后面的数字超过两个字符,这将有效。
public static string RemoveDataPoints(this string data, string indentifier)
{
var temp = "";
var fields = data.Split(";".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
for (int i=0; i<fields.Length; i=i+2)
{
if (!fields[i].Equals(indentifier))
{
temp += String.Format("{0};{1};", fields[i], fields[i + 1]);
}
}
return temp;
}
然后致电:
var output = "EN;05;UK;55;EN;66;US;87;US;89;EN;66;UK;87;".RemoveDataPoints("EN");