CSVQuoted
If a string contains a space or a comma or a newline, quotes it, suitable for a field in a CSV file.
Source
public static string CSVQuoted( this string s )
{
if ( s.IndexOfAny(" ,\n".ToCharArray()) < 0 && s.Trim() == s )
return s;
StringBuilder sb = new StringBuilder();
sb.Append( '"' );
foreach ( char c in s )
{
sb.Append(c);
if ( c == '"' )
sb.Append(c);
}
sb.Append( '"' );
return sb.ToString();
}
Example
"this".CSVQuoted() ==> "this"
"pots and pans".CSVQuoted() ==> "\"pots and pans\""
"blue,red".CSVQuoted() ==> "\"blue,red\""
"embedded\"quote".CSVQuoted() ==> "\"embedded\"\"quote\""
" goodbye! ".CSVQuoted() ==> "\" goodbye! \""