是否可以防止 Trim() 删除 space?

Is it possible to prevent Trim() from removing a space?

这似乎是一个奇怪的问题,但是有没有什么方法可以将 space 放入字符串中,使得 Trim() 不会删除它?

例如例如,我希望输出为 "Hello, World "(这就是我希望它显示的方式)。

显而易见的答案是,不要调用 Trim(),不幸的是,在这种情况下,我将字符串传递到一个库(我没有源代码)并且该库正在执行修剪。

也许有一个字符看起来像 space 但实际上不是,所以不会被修剪?或者一些不可见的字符放在字符串的末尾?

使用不同的写法 space,它可能适合你,也可能不适合你

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