在字符串中间追加单词

时间:2018-04-20 05:04:36

标签: c# string

我有以下代码:

string group = "1,2,3,4,5";

我需要找到组中的最后一个逗号(在本例中为4到5之间),并将其替换为“AND”。我需要使用LINQ吗?如果是这样,怎么样?

4 个答案:

答案 0 :(得分:2)

无需使用LINQ,只需使用LastIndexOf

即可
string str = "1,2,3,4,5";

int pos = str.LastIndexOf(',');
string result = str.Substring(0, pos) + " and " + str.Substring(pos + 1);

答案 1 :(得分:1)

我相信以下内容可行,但您可能需要添加一个检查,如果组甚至包含逗号:

string group = "1,2,3,4,5";
int i = group.LastIndexOf(",");
string str = group.Substring(0, i) + " and " + group.Substring(i + 1);

答案 2 :(得分:0)

你可以为这个

使用普通的for循环
public static void Main(string[] args)
{
    string str = "1,2,3,4,5";

    for (int i=str.Length - 1; i>=0; i--) {
        if (str[i] == ',') {
            str = str.Substring(0, i+1) + " and " + str.Substring(i + 1);
            break;
        }
    }

    Console.WriteLine(str);
}

程序的输出是

1,2,3,4, and 5

答案 3 :(得分:0)

Neat and clean and on point.

public static void Main(string[] args)
 {
    var res = ReplaceLastOccurrence("1,2,3,4,5", ",", " and ");
     Console.WriteLine(res);
 }
public static string ReplaceLastOccurrence(string Source, string Find, string Replace)
  {
      int place = Source.LastIndexOf(Find);   
      if(place == -1)
        return Source;
       string result = Source.Remove(place, Find.Length).Insert(place, Replace);
        return result;
  }

Fiddle Output:

1,2,3,4 and 5