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

如何在Dart中移除希伯来语文本中的元音(Niqqud)

Dart移除希伯来语元音符号(Niqqud)的正确实现

你的Dart代码无法生效的原因是正则表达式写法不符合Dart语法规范,Dart的RegExp不需要像JavaScript那样用/包裹正则内容,也不需要g修饰符(Dart默认全局匹配)。

正确实现代码

String removeVowels(String s) {
  // 使用原始字符串r''避免转义问题,匹配希伯来语元音符号的Unicode范围
  return s.replaceAll(RegExp(r'[\u0591-\u05C7]'), '');
}

void main() {
  var word = 'בַּעֲדַ֥ת';
  print('input: $word');
  print('output: ${removeVowels(word)}');
}

关键修改点

  • 移除了正则字符串前后的/和末尾的g,Dart的RegExp构造函数接受纯正则表达式字符串作为参数
  • 使用r''原始字符串字面量,确保Unicode转义序列\u0591-\u05C7被正确解析,不会被Dart当作普通转义处理
  • 修正了函数名拼写(removeVolwels改为removeVowels,属于规范优化,不影响核心功能)

运行上述代码后,输入בַּעֲדַ֥ת会输出预期的בעדת。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 10:35:27