You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift中如何修改指定子字符串格式 实现冒号后数字加粗显示

你可以通过拆分字符串拼接HTML加粗标签的方式实现,适配你当前已经在用的htmlAttributedString工具方法,完整实现代码如下:

// 接口返回的原始文本
let originalResponseText = "your bill is: 10.00"
var finalHtmlStr = ""

if let colonPosition = originalResponseText.firstIndex(of: ":") {
    // 拆分出冒号前的普通文本
    let normalContent = String(originalResponseText[..<colonPosition])
    // 拆分出冒号后需要加粗的金额部分,自动去掉前后空格
    let boldContent = String(originalResponseText[originalResponseText.index(after: colonPosition)...]).trimmingCharacters(in: .whitespaces)
    // 拼接带<b>加粗标签的HTML文本
    finalHtmlStr = "\(normalContent): <b>\(boldContent)</b>"
} else {
    // 未匹配到冒号时直接用原始文本兜底,避免崩溃
    finalHtmlStr = originalResponseText
}

// 调用原有方法转富文本赋值
self.disclaimerLabel.attributedText = finalHtmlStr.htmlAttributedString(
    withBaseFont: Font.overlineRegular07.uiFont,
    boldFont: Font.overlineBold02.uiFont,
    baseColor: Color.blueyGreyTwo.uiColor,
    boldColor: Color.blueyGreyTwo.uiColor
)

如果需要严格只加粗冒号后的数字部分,排除其他文字,你可以用正则提取冒号后的数字段再包裹<b>标签,匹配数字的正则可以用#":\s*(\d+\.?\d*)"#。

内容的提问来源于stack exchange,提问作者biggreentree

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 02:24:09