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的占位符来方便地管理和切换不同语言的文本内容。这种占位符机制允许开发者在字符串中预留位置,以便在运行时动态地插入变量值。例如,在定义多语言内容时,可以使用占位符“{price}”来表示价格,然后在运行时通过代码将实际的价格值填充到这个占位符中。

此外,HarmonyOS 鸿蒙Next还提供了强大的UI框架和组件系统,如ArkUI和ArkTS,它们支持开发者创建丰富的用户界面和交互体验。在这些UI框架中,string的占位符机制也得到了广泛的应用,使得开发者能够更灵活地处理文本内容和用户输入。

如果在使用HarmonyOS 鸿蒙Next进行开发时遇到了关于string占位符的具体问题,建议查阅相关的开发文档或示例代码以获取更详细的指导。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部