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

QML如何在不截断单词的前提下动态指定长度截取字符串

问题原因

你代码的问题出在RegExp构造函数的语法使用错误,存在两个问题:

  • 使用RegExp构造函数时,传入的正则字符串不需要包含字面量写法的前后斜杠/,你多写了前后斜杠导致正则匹配规则完全失效,永远匹配不到内容,因此replace不会修改原字符串。
  • 正则中的空白符匹配规则\s写在普通字符串中时需要转义,要写成\\s,否则字符串解析阶段会丢失反斜杠,最终正则实际匹配的是普通字符s,逻辑错误。

解决方案

将lastTextPreview的text属性赋值修改为以下代码即可:

text: lastText.replace(new RegExp("^(.{" + lastTextMaxLen + "}[^\\s]*).*"), "$1")

修改后你可以随意调整lastTextMaxLen的数值,截断功能会正常生效,且不会切断单词。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:54:03