Можно ли предотвратить Trim () от удаления пробела? - PullRequest
2 голосов
/ 13 февраля 2020

Это может показаться странным вопросом, но есть ли способ поместить пробел в строку таким образом, что Trim() не удалит его?

например, я хочу, чтобы вывод был, для Например, "Hello, World " (именно так я хочу, чтобы он отображался).

Очевидный ответ: не вызывайте Trim(), к сожалению, в этом случае я передаю строку в библиотеку (для который у меня нет исходного кода) и эта библиотека делает обрезку.

Может быть, есть персонаж, который выглядит как пробел, но на самом деле не так и не будет обрезан? Или какой-нибудь невидимый символ, который нужно поместить в конец строки?

1 Ответ

6 голосов
/ 13 февраля 2020

Используйте другое место для записи, оно может или не может работать для вас

var str = "test    ";
var str2 = str.Replace(" ", "\u00A0");

Любой из этих действительно

U+00A0  NO-BREAK SPACE  
U+1680  OGHAM SPACE MARK
U+180E  MONGOLIAN VOWEL SEPARATOR
U+2000  EN QUAD 
U+2001  EM QUAD 
U+2002  EN SPACE (nut)  
U+2003  EM SPACE (mutton)   
U+2004  THREE-PER-EM SPACE (thick space)    
U+2005  FOUR-PER-EM SPACE (mid space)   
U+2006  SIX-PER-EM SPACE    
U+2007  FIGURE SPACE    
U+2008  PUNCTUATION SPACE   
U+2009  THIN SPACE  
U+200A  HAIR SPACE  
U+200B  ZERO WIDTH SPACE    
U+202F  NARROW NO-BREAK SPACE   
U+205F  MEDIUM MATHEMATICAL SPACE
U+3000  IDEOGRAPHIC SPACE   
U+FEFF  ZERO WIDTH NO-BREAK SPACE
...