0

私は次の文字列を持っています:

"'2014' , '381' , '1' , 'Eastern 10' , 'Wes 10' , '1'"

位置1と位置2を結合して、位置1に戻したいと思います。例:

"'2014381' , '381' , '1' , 'Eastern 10' , 'Wes 10' , '1'"
4

4 に答える 4

3

使用String.SplitString.Join

string text = "'2014' , '381' , '1' , 'Eastern 10' , 'Wes 10' , '1'";
string[] words = text.Split(new[] { "' , '" }, StringSplitOptions.None);
string result = string.Join("", words.Take(2)) + 
                string.Join("' , '", words);

デモ

于 2013-01-03T16:19:14.680 に答える
3
var str = "'2014' , '381' , '1' , 'Eastern 10' , 'Wes 10' , '1'";
var parts = str.Split(new string[] { " , " }, StringSplitOptions.None);

parts[0] = String.Format("'{0}{1}'", parts[0].Replace("'", ""),
                                     parts[1].Replace("'", ""));
str = String.Join(" , ", parts);
于 2013-01-03T16:28:50.887 に答える
0

この質問に記載されているreplaceFirst関数の使用:

.NETで文字列の*最初のインスタンス*を置き換えるにはどうすればよいですか?

string ReplaceFirst(string text, string search, string replace)
{
  int pos = text.IndexOf(search);
  if (pos < 0)
  {
    return text;
  }
  return text.Substring(0, pos) + replace + text.Substring(pos + search.Length);
}

その後、次のことができます。

string updated = ReplaceFirst(original, "' , '", "");
于 2013-01-03T16:17:11.950 に答える
0
var input = "'2014' , '381' , '1' , 'Eastern 10' , 'Wes 10' , '1'";
var delimeter = " , ";

var splits = input.Split(',').Select (i => i.Trim());
var result = splits.Take(2).Aggregate ((x, y) => x + y).Replace("''", "") 
    + delimeter + splits.Skip(1).Aggregate ((x, y) => x + delimeter + y);

出力:

'2014381' , '381' , '1' , 'Eastern 10' , 'Wes 10' , '1'
于 2013-01-03T17:43:18.427 に答える