Flutter、Dart 将句子每1个字符拆分为2个字符大小,用于flutter自定义tts项目

标签 flutter dart split text-to-speech

示例:

var句子=(你好,我是鲍勃。)

变量结果 = [ '他', '埃尔', '二', '瞧', ' ', '第', '他', '呃', '关于', ',', ' ', '我', ' ', '是', ' ', '博', '奥布', '.']

我在这里找到了工作示例,虽然它是用 Javascript 编写的,但我真的不知道如何将它用于 Dart,并且不确定添加空格和标点符号后会如何表现。标点符号和空格我需要始终单独拆分而不是与字母组合,我也需要它们,因为我将使用它们在单词和句子之间添加停顿。

谢谢

    var a = 12345678;
    a= a.toString();
    var arr=[];
    for (var i =0; i<a.length-1; i++) {
     arr.push(Number(a[i]+''+a[i+1]));
    }
    
    console.log(arr);

最佳答案

您可以使用正则表达式来分割句子。例如:

void main() {
  var exp = RegExp('([A-Za-z]{1,2}|[,!.?\s ])');
  var str = "hello there, I am Bob.";
  var matches = exp.allMatches(str);

  for (var m in matches) {
    print(m.group(0));
  }
}

这会查找 1 或 2 个组中的字母(A-Z 或 a-z),或单个标点符号 (,!.?)\s 表示空格。

运行上面的代码会产生:

he
ll
o
 
th
er
e
,
 
I
 
am
 
Bo
b
.

关于Flutter、Dart 将句子每1个字符拆分为2个字符大小,用于flutter自定义tts项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65002801/

相关文章:

javascript - 如何获取特殊字符之前的子字符串?

firebase - 在我的 Flutter Web 应用程序中按 Altright 时出错

listview - 如何在 Flutter 中过滤 AlertDialog 中 ListView 中的数据?

flutter - 如何在 flutter 中创建一个固定的文本标签

dart - 从另一个流结果生成一个流

c++ - 将字符串拆分为 vector C++

flutter - 如何在 flutter 中计算 GridView.builder 的 childAspectRatio

dart - 如何在同一文本小部件中制作不同的样式?

Flutter 如何从 ListTile 更改所选图 block 的背景颜色

python - 每两个逗号切割字符串