如果使用 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;
}
(允许使用字符串代替字符更有用)
我有一个字符串,我应用了一些 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;
}
(允许使用字符串代替字符更有用)