C# Refactoring/Renaming 从 Visual Studio 中的浮点参数中删除数字文字 'f'

C# Refactoring/Renaming Removing Numeric Literal 'f' from float parameters in Visual Studio

我想从当前文档中的所有浮点数中删除尾随 'f',而不触及 cs 中其他 words/methods 的 'f's。代码文件。它有超过 450 * 4 次出现,我想更改,所以手工完成真是太难了。

我尝试在 VS2019 中使用正则表达式 find/replace,它确实找到了我想要更改的所有事件,但我无法以相同的方式更改它。 如何保留数字并从中删除尾随 'f'?

所附的截图有正则表达式和替换它的尝试(对于那些无法打开截图的人:(?<![A-Za-z])[0-9.]+f 是用于查找数字 + f 的正则表达式)

提前致谢!

Visual Studio Refactor Attempt

您可以使用捕获组来匹配 1 个以上的数字和可选的小数部分:

(?<![A-Za-z])([0-9]+(?:\.[0-9]+)?)f

Regex demo

在替换中使用第 1 组,然后替换。

您可以在 f\b 之后添加单词边界,以防止它成为更大单词的一部分。


另一种选择是匹配 f 仅添加添加匹配 lookbehind 中的数字

(?<![A-Za-z][0-9]+(?:\.\[0-9]+)?)f\b

看一个 .NET regex demo