使用正则表达式将双数替换为浮点数
Replace double number to float number using regular expression
我有一个带有常量数字的文本文件。其中一些是像0.0这样的双重类型,另一些是像0.0f这样的浮点类型。我想把所有的数字都改成以f结尾的浮点格式。但我可以用正则表达式找到浮点数,但我无法区分浮点数类型。因此,出现了这样的问题:1.0,1.1,1.1f,1.2f,2.0->1.0f,1.1f、1.1ff、1.2ff、2.0f
我想把这些样品改成这样:1.0f,1.1f,1.1f,1.2f,2.0f
我的查找浮点数的规则表达式是这样的:模式:([-+]?)([0-9]+)(.{1})([0-90]+)?替换:$1$2$3$4f
有人能区分浮点数和双数吗?
提前谢谢。
使用负前瞻(参见语法)
例如:
((?:[-+]?)(?:[0-9]+)(?:.{1})(?:[0-9]+)(?:[eE]?[+-]?[0-9]+)?)(?!f)
你的替换模式是
$1f
请注意,我已经用被动组替换了您的捕获组,并为添加了一个单独的组
编辑:可选(只使用您的测试字符串进行了测试…)
((?:[-+]?)(?:[0-9]+)(?:.{1})(?:[0-9]+)(?:[eE]?[+-]?[0-9]+)?)([^f]?,|$)
替换为
$1f$2
相关文章:
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- C++浮点数据类型和字符串数据类型无法子到模板函数中
- 使用提升将数据从 PyObject 复制到浮点数 *
- 使用浮点数和双精度数的非常小数字的数学
- 使用英特尔内联函数将打包的 8 位整数乘以浮点数向量
- 如何在 c++ 中将小数点后两位数的浮点数分配给另一个浮点数
- 返回浮点数的小数位数
- txt 文件中浮点数的最大和最小值
- 为什么 std::cout 打印浮点数、双精度和长双精度到相同的小数精度?
- 将浮点数转换为无符号字符数组并打印出来
- 如何将时间字符串 (M:SS) 转换为浮点数
- 如何将浮点数(*)[6]转换为浮点**类型?
- C++将浮点数乘以分数
- 如何将浮点数转换为uint8_t?
- 将字符串转换为浮点数或整数,而无需使用内置函数(如 atoi 或 atof)
- 如何在C++(Arduino)中将浮点数组转换为字节数组
- 在数学上将浮点数四舍五入到 N 位小数
- 将浮点数组转换为整数的最佳方式.[替换x64的asm代码]
- 使用正则表达式将双数替换为浮点数