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

col*_*mde 3 c# string trim

这似乎是一个奇怪的问题,但是有没有办法在字符串中放置空格而Trim()不会删除它?

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

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

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

AAA*_*ddd 7

使用不同的写入空间,它可能适合您,也可能不适合您

var str = "test    ";
var str2 = str.Replace(" ", "\u00A0");
Run Code Online (Sandbox Code Playgroud)

任何这些真的

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
Run Code Online (Sandbox Code Playgroud)

  • @Dennis OP 已经确认这是有效的。这一定是因为他们提到的库没有调用 `Trim()` 而是使用其他方法(例如 `Trim(char[])`)。 (2认同)