正则表达式添加尾随零

标签 regex replace pentaho

我试图在转换数据时将零填充到一系列数字。

基本上我有这样的事情:

1234
2345
3456
4567

而我想要转变的是
12340000
23450000
34560000
45670000

到目前为止我尝试过的是
regex: ^(.+)$
replace: $1/0000  => 1234/0000
replace: $10000   => NOTHING
replace: $1\0000  => 1234\0000

如果有人可以帮助我,那就太好了。

最佳答案

如果您将这些字段作为数字,@goti 将它们乘以 10000 的解决方案听起来是最好的。
但是如果你把它们作为字符串,我真的不知道你想要一个少于或多于 4 个字符的字符串的行为,例如。 “123”或“98765”(因为你没有在你的问题中定义它)。

1-如果你想把它变成“1230000”/“987650000”(只是连接4个零)那么你可以使用计算器步骤,创建一个临时常量字段“0000”而不是创建一个字段作为原始字段和这个临时字段;

2-如果你想把它变成“12300000”/“98765000”(都是8个字符)那么你可以使用字符串操作步骤选择Padding = right, Pad char = 0 and Pad Length = 9(不要问我为什么9 而不是 8)。

这两个步骤对于字符串操作都非常有用,希望它们对您有所帮助。

关于正则表达式添加尾随零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11321868/

相关文章:

bash - 如何使用 sed/awk 替换以逗号分隔的字符串中的第 n 列/字段?

php - 用外键的结果替换值

javascript - 如何使用Python登录网页?

php - 有没有办法通过 Pentaho 将任何新的 MySQL 表自动复制到 HANA DB?

java - 用于解析日志文件并查找堆栈跟踪的正则表达式

regex - 按数字对 CSV 文件中的列重新排序

Javascript RegExp + 单词边界 + unicode 字符

scala - 用 scala 替换列表中的元素

pentaho - 如何使用 Pentaho 数据集成使用 (Select * into ##temp from table) 语法(对于 MS SQL)创建临时表

javascript - 搜索并替换 unicode 字符