我有以下代码:
string group = "1,2,3,4,5";
我需要找到组中的最后一个逗号(在本例中为4到5之间),并将其替换为“AND”。我需要使用LINQ吗?如果是这样,怎么样?
答案 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)
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;
}
1,2,3,4 and 5