String中的部分变量

开发中常碰见文案基本雷同,但是中间加一些变量的文案,如果不会这些参数的话,就只能后台提供完整显示文案或者自己手抖拼接,非常的不美观,所以这个有必要记录一下。

%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为0.00

用法雷同,都是这样的

strings中定义
<string name="count_down">倒计时:%1$d</string>
mTv.setText(getContext().getString(R.string.count_down, 18)); 
### 在 Kettle 中处理 String 变量以及获取相关字段信息 在 Kettle 中,处理字符串变量String 变量)以及从结果中获取与字符串变量相关的字段信息是一项常见需求。以下是实现这一功能的具体方法和配置步骤。 #### 使用“设置变量”和“获取变量”步骤处理字符串变量 Kettle 提供了“设置变量”和“获取变量”步骤,用于定义、存储和访问字符串变量[^1]。通过这些步骤,可以轻松地将字符串值存储为变量,并在后续步骤中使用这些变量。 - **设置变量**:可以在作业中通过“设置变量”步骤定义字符串变量。例如,定义一个名为 `fileDate` 的变量,其值为当前日期的字符串表示形式。 - **获取变量**:在需要使用该变量的地方,可以通过“获取变量”步骤读取变量值。例如,如果需要将 `fileDate` 作为 SQL 查询的一部分,可以将其插入到查询语句中[^2]。 #### 动态生成 SQL 查询中的字符串变量 当需要动态生成 SQL 查询时,可以结合字符串变量和 SQL 语句。以下是一个示例 SQL 查询,展示如何使用字符串变量: ```sql SELECT *, STR_TO_DATE(?, '%Y-%m-%d') AS dt FROM order_goods WHERE SUBSTR(createTime, 1, 10) = STR_TO_DATE(?, '%Y-%m-%d'); ``` 在这个查询中,`?` 是占位符,表示将由字符串变量替换的实际值。此方法允许根据变量值动态调整查询条件。 #### 使用 Java 脚本步骤处理复杂字符串逻辑 对于更复杂的字符串处理逻辑,可以使用 Kettle 的“JavaScript 预处理”或“Java 脚本”步骤。以下是一个 Java 脚本示例,展示如何连接 Redis 并获取字符串值: ```java import redis.clients.jedis.Jedis; public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException { if (first) { first = false; } Object[] r = getRow(); if (r == null) { setOutputDone(); return false; } r = createOutputRow(r, data.outputRowMeta.size()); // 连接 Redis Jedis jedis = new Jedis("10.20.1.17", 6379); // 获取 key 值 String name = get(Fields.In, "name").getString(r); boolean exists = jedis.exists(name); // 获取上一次的机米长度 String lastVsxzl = "0"; if (!exists) { jedis.hset(name, "vsxzl", "0"); } else { if (!jedis.hexists(name, "vsxzl")) { jedis.hset(name, "vsxzl", "0"); } lastVsxzl = jedis.hget(name, "vsxzl"); } // 输出 key 值 get(Fields.Out, "lastVsxzl").setValue(r, lastVsxzl); get(Fields.Out, "key").setValue(r, name + "vsxzl"); // 关闭连接 jedis.close(); // 发送行到下一个步骤 putRow(data.outputRowMeta, r); return true; } ``` 上述代码展示了如何从 Redis 中获取字符串值,并将其作为输出字段传递给后续步骤[^3]。 #### 测试和验证 保存并运行转换或作业,检查是否成功处理了字符串变量,并正确获取了相关字段。可以通过查看日志或使用调试工具来验证输出结果是否符合预期。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值