如果使用 LINQ 不存在,则在字符串的开头添加一个字符

Adding a character at the beginning of a string if it does not exist using LINQ

我有一个字符串,我应用了一些 LINQ 方法。应用替换后,当且仅当它不存在时,我想在结果字符串的开头添加一个 '/' 字符。

例如:

string myString = "this is a test";
string newString = myString.Replace(" " , string.Empty).AddCharacterAtBeginingIfItDoesNotExists('/');

所以生成的 newString 应该是:

"/thisisatest"

如果字符'/'已经存在,则不需要添加。例如:

string myString = "/this is a test";
string newString = myString.Replace(" " , string.Empty).AddCharacterAtBeginingIfItDoesNotExists('/');

所以生成的 newString 应该是:

"/thisisatest"

您可以使用 String.StartsWith:

public static string AddStringAtBeginningIfItDoesNotExist(this string text, string prepend)
{
    if (text == null) return prepend;
    if (prepend == null) prepend = "";
    return text.StartsWith(prepend) ? text : prepend + text;
}

(允许使用字符串代替字符更有用)