HarmonyOS 鸿蒙Next是否有string的占位符

发布于 1周前 作者 yuanlaile 来自 鸿蒙OS

HarmonyOS 鸿蒙Next是否有string的占位符

android中有类似string中占位的用法,可以拼接可变参数,如 第%1$d份请选择%2$s 可以动态展示不同的string,且可以很方便的做中英文适配,鸿蒙中有吗?

2 回复
let a = '变量A'
let b = '变量B'
let str = `测试字符串${a},字符串${b}`
console.log(str);

很抱歉目前没有找到类似占位的用法,不过可以通过resource资源转字符串的方式来做这种模板拼接。demo如下:
resource资源转字符串可以封装成一个通用方法,以下代码因为用到了context,需要在模拟器或真机运行。

import common from '@ohos.app.ability.common';
@Entry
@Component
struct Demo {
  private context = getContext(this) as common.UIAbilityContext
  @State message: string = '22222'
  onPageShow() {
    let a = this.rs2str($r('app.string.app_name'))
    let b = this.rs2str($r('app.string.module_desc'))
    this.message = `${a}:${b}`
  }
  rs2str(resource :Resource){
    let str = this.context.resourceManager.getStringSync(resource.id)
    return str
  }
  build() {
    Column(){
      Text(this.message)
    }
    .width('100%').height('100%').justifyContent(FlexAlign.Center)
  }
}

需要拼接可变参数的字符串,可以使用模板字符串的语法实现,使用反向单引号(`)括起来,使用${}包裹变量:

更多关于HarmonyOS 鸿蒙Next是否有string的占位符的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next的string占位符

在HarmonyOS鸿蒙Next系统中,对于字符串(string)资源的处理,确实支持占位符的使用。这种机制允许开发者在定义字符串资源时,预先设定一些占位符,以便在运行时动态地替换这些占位符为实际的内容。

具体来说,HarmonyOS鸿蒙Next的字符串占位符通常使用花括号{}来标识。例如,你可以在一个字符串资源中定义一个占位符如{name},然后在代码中通过相应的API将这个占位符替换为用户的实际名字。

不过,需要注意的是,具体的占位符使用方式和支持的格式可能会因HarmonyOS的版本和具体实现而有所不同。因此,在开发过程中,建议参考HarmonyOS的官方文档或API指南,以确保正确地使用字符串占位符功能。

此外,虽然HarmonyOS鸿蒙Next提供了丰富的API和工具来支持应用开发,但在实际使用中,开发者仍然需要仔细测试和验证,以确保应用的稳定性和兼容性。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部