繁体   English   中英

用空格和#字符替换#字符

[英]Replace a # character with a space and a # character

我想在英镑符号#前添加一个空格。 但如果英镑符号前面已经有空格,则不应添加空格。 此外,它不应添加空格作为字符串的第一个字符。 这是我到目前为止:

string result = Regex.Replace("542#452", @"(?=#)(?!$)", " ");

但这是增加双倍空间(当一个英镑符号已经有空格时)。 它还在开头添加一个空格:

样本数据和所需输出:

Input        Output
243#423      243 #423
22 #44       22 #44
#32#         #32 #
#            #
##           # #

谢谢

你可以断言左边的是非空白字符\\S然后匹配英镑符号并用空格替换#

(?<=\S)#

例如

string result = Regex.Replace("542#452", @"(?<=\S)#", " #");

正则表达式演示 | C#演示

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM