C# 正则表达式:删除单个字符周围的空格

C# 正则表达式:删除单个字符周围的空格,c#,.net,regex,C#,.net,Regex,我怎样才能达到预期的结果 目标字符串:“s o m e部分为s h r u n k的文本” 正则表达式:(\s+)(\s)\s+ 重新安装时使用:$2 所需结果:某些部分收缩的文本 当前结果:某些部分被隐藏的文本搜索:\b(\S)\S+(?=\S\b) 替换:$1(前后无空格) 这使用了一种先搜索单数字符(用空格分隔)然后“向前看”的前瞻性方法,以查看是否有更多的单数字符出现在行的后面。如果这是真的,则仅用捕获的字符替换结果,删除它们之间所有多余的空格。如何处理使用字符a的实例。示例:a w

我怎样才能达到预期的结果

目标字符串:
“s o m e部分为s h r u n k的文本”

正则表达式:
(\s+)(\s)\s+

重新安装时使用:
$2

所需结果:
某些部分收缩的文本

当前结果:
某些部分被隐藏的文本

搜索:
\b(\S)\S+(?=\S\b)
替换:
$1
(前后无空格)


这使用了一种先搜索单数字符(用空格分隔)然后“向前看”的前瞻性方法,以查看是否有更多的单数字符出现在行的后面。如果这是真的,则仅用捕获的字符替换结果,删除它们之间所有多余的空格。

如何处理使用字符
a
的实例。示例:
a w o r d
使用单词边界:'\b'\s+(\b\s\b)\s+这是一个实体的法定名称,所以我不希望文本中出现这样的语法细节…@OnlineCop:以前试过。我认为这是不可能的,主要是因为@b.K.所说的。“I”也同样适用。当然,对于您的示例是可能的,但对于任何/所有任意字符串都不可能。很好!您是否介意对其进行一些解释?
这不是一个有效的解决方案
它可以工作,只需更换1美元。。这就是它无效的原因吗?我想知道它是否与应该分开的浮动“a”有关(“不是a”对“nota”)。@OnlineCop:正如我上面提到的,gramar不适用,因为它是一个公司名称。