如何删除字符串数组中的单词
var array= new string []
{"windows!!1!!","dual+sim!!3!!","32+gb!!2!!","Intel+i5!!2!!"};
输出数组
var Output-array= new string []
{"windows","dual sim","32 gb","Intel i5"};
如何在C#的单行代码中执行此操作
答案 0 :(得分:5)
假设您的模式始终为!![one digit]!!
正则表达式应该是解决这个问题的最简单方法。并Replace("+", " ")
用空格替换+
个字符。
string[] array = new string[] { "windows!!1!!", "dual+sim!!3!!", "32+gb!!2!!", "Intel+i5!!2!!" };
string[] result = array.Select(x => System.Text.RegularExpressions.Regex.Replace(x, @"!!\d!!", "").Replace("+", " ")).ToArray();
答案 1 :(得分:0)
虽然不是单一的班轮。无需了解RegEx,以及应该在您的工具包中的扩展方法。只有假设才是“!!”作为你想要提取的字符串的终结者。
/// <summary>
/// Get string value before [first] a.
/// </summary>
public static string Before(this string value, string a)
{
int posA = value.IndexOf(a);
if (posA == -1)
{
return "";
}
return value.Substring(0, posA);
}
var myList = new List<string>();
foreach var element in array
{
myList.Add(element.Before("!!"));
}
var outPutArray = myList.ToArray();