C#中的字符串拆分操作

时间:2010-04-20 14:04:51

标签: c#

我有一个字符串string s ="C:\\Data",我有一个数组,其中包含一些字符串,其中包含“C:\ Data”,即string[] arr = new {"C:\\Data\abc.xml","C:\\Data\Test\hello.cs"};

我必须从每个条目中删除字符串“C:\ Data”,并且必须将其与另一个字符串string fixed = "D:\\Data"组合。

最好的方法是什么,请帮忙,因为我是C#的新程序员。

6 个答案:

答案 0 :(得分:5)

如果您确定数组中的所有元素都以“C:\ Data”开头,那么它非常简单:

for(int i = 0; i<arr.Length; i++)
{
   arr[i] = arr[i].Replace("C:\\Data" , "D:\\Data");
}

答案 1 :(得分:2)

String.Replace可能您需要的内容,因为它会替换所有字符串中C:\Data的出现次数,而您只需要在开头

我建议如下:

string s ="C:\\Data";
string s1 = "D:\\Data";
for (int i = 0; i < arr.Count; i++)
{
    if (arr[i].StartsWith(s))
        arr[i] = s1 + arr[i].Remove(s.Length);
}

答案 2 :(得分:1)

组合LINQ和string.Replace():

arr.Select(s => s.Replace("C:\\Data", "D:\\Data").ToArray();

答案 3 :(得分:0)

String.replace很容易处理它。

答案 4 :(得分:0)

for (var i=0; i < arr.Length; i++)
  arr[i] = arr[i].Replace("C:\\Data", "D:\\Data");

答案 5 :(得分:-1)

您可以使用LINQ并执行

String[] newStrings = arr.Select(oldString => fixed + oldString.Replace(s, ""))
                         .ToArray()

请注意,fixed是c#中的关键字,因此对于变量名称来说是错误的选择。