convertWithoutTone static method

List<String> convertWithoutTone(
  1. String pinyinArrayStr
)

将带声调格式的拼音转换为不带声调格式的拼音 @param pinyinArrayStr 带声调格式的拼音 @return 不带声调的拼音

Implementation

static List<String> convertWithoutTone(String pinyinArrayStr) {
  List<String> pinyinArray;
  for (int i = allMarkedVowel.length - 1; i >= 0; i--) {
    int originalChar = allMarkedVowel.codeUnitAt(i);
    double index = (i - i % 4) / 4;
    int replaceChar = allUnmarkedVowel.codeUnitAt(index.toInt());
    pinyinArrayStr = pinyinArrayStr.replaceAll(
        String.fromCharCode(originalChar), String.fromCharCode(replaceChar));
  }
  // 将拼音中的ü替换为v
  pinyinArray = pinyinArrayStr.replaceAll("ü", "v").split(pinyinSeparator);
  // 去掉声调后的拼音可能存在重复,做去重处理
  LinkedHashSet<String> pinyinSet = LinkedHashSet<String>();
  pinyinArray.forEach((value) {
    pinyinSet.add(value);
  });
  return pinyinSet.toList();
}