我需要从另一个字符串中删除第一个(也是唯一的第一个)字符串。C# - 从另一个字符串中删除第一个子字符串的最简单方法
以下是替换字符串"\\Iteration"
的示例。这:
ProjectName\\Iteration\\Release1\\Iteration1
会变成这样:
ProjectName\\Release1\\Iteration1
这里是一些代码,这是否:
const string removeString = "\\Iteration";
int index = sourceString.IndexOf(removeString);
int length = removeString.Length;
String startOfString = sourceString.Substring(0, index);
String endOfString = sourceString.Substring(index + length);
String cleanPath = startOfString + endOfString;
这似乎是一个大量的代码。
所以我的问题是:是否有一个更清洁/更可读/更简洁的方式来做到这一点?
对于涉及非ASCII字符的字符串,此答案可能会中断。例如,在美国文化下,'æ'和'ae'被认为是平等的。尝试从'Encyclopædia'中删除'paedia'将会抛出一个'ArgumentOutOfRangeException',因为当匹配的子字符串只包含5时你试图删除6个字符。 – Douglas 2016-02-18 15:13:43
我们可以这样修改它:'sourceString.IndexOf(removeString,StringComparison。 Ordinal)'以避免例外。 – 2016-12-20 19:37:57