gpt4 book ai didi

regex - 使用正则表达式从 "S9.98"中删除 S,但不从字符串 "Sep"中的 "S9.98 Sep"中删除 S

转载 作者:行者123 更新时间:2023-12-01 08:59:41 26 4
gpt4 key购买 nike

从以下字符串“test S9.98 Sep”中,我想删除数字前面的 S。但不是来自使用 RegEx 的“test”或“Sep”。

我试过了

string result = Regex.Replace("test S9.98 Sep", "S(?!^Sep$)", "", RegexOptions.IgnoreCase);

string result = Regex.Replace("test S9.98 Sep", "[S]", "", RegexOptions.IgnoreCase);

但我得到“tet 9.98 ep”

最佳答案

您可以像这样使用前瞻性正则表达式:

string result = Regex.Replace("test S9.98 Sep", @"S(?=\d+(?:\.\d+)?)", "", RegexOptions.IgnoreCase);

S(?=\d+(?:\.\d+)?) 是正先行,仅当字母 S 紧跟一个整数时才会匹配它或十进制数。

引用: Lookahead and Lookbehind Zero-Length Assertions

关于regex - 使用正则表达式从 "S9.98"中删除 S,但不从字符串 "Sep"中的 "S9.98 Sep"中删除 S,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39416997/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com