【问题标题】:Replace a # character with a space and a # character将 # 字符替换为空格和 # 字符
【发布时间】:2019-12-09 08:23:16
【问题描述】:

我正在尝试在井号 # 前面添加一个空格。但如果井号前面已经有空格,则不应添加空格。此外,它不应添加空格作为字符串的第一个字符。这是我目前所拥有的:

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

但这是添加双空格(当井号已经有空格时)。它还在开头添加了一个空格:

样本数据和所需输出:

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

谢谢

【问题讨论】:

    标签: c# regex string replace


    【解决方案1】:

    您可以断言左侧是非空白字符\S,然后匹配井号并替换为空格和#

    (?<=\S)#
    

    例如

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

    Regex demo | C# demo

    【讨论】:

    • 看起来C# demo 链接缺少查询字符串
    • @AndersonPimentel 你是对的,我添加了错误的链接。我已经更新了答案。
    猜你喜欢
    • 2011-07-12
    • 2022-10-13
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    • 2013-05-01
    • 2020-12-19
    相关资源
    最近更新 更多