安装包
yarn add pinyin@^3.0.1 我当前项目的版本
切记不要安装4.0.0-alpha.0 这种版本号后面带字母的,会有问题
import React, {useEffect} from 'react';
import {View, Text} from 'react-native';
import {pinyin} from 'pinyin';const App = () => {// 定义一个函数来将汉字转为拼音并返回首字母const getFirstLetter = chineseChar => {// 使用 pinyin 库将汉字转为拼音数组const pinyinArray = pinyin(chineseChar, {style: pinyin.STYLE_FIRST_LETTER, // 使用首字母风格});// 如果转换成功,返回首字母;否则返回原字符(如果是英文的话已经被转换为大写了)return pinyinArray.length > 0? pinyinArray[0][0].toUpperCase(): chineseChar;};// 测试函数const test = () => {const chineseChar = '你好';const chineseChar1 = 'a你好';const chineseChar2 = 'a你好';const chineseChar3 = 'a你a好a';const chineseChar4 = '你a好a';const chineseChar5 = '你a好';const chineseChar6 = '你好a';const chineseChar7 = 'abc';const chineseChar8 = '?,/';const firstLetter = getFirstLetter(chineseChar);const firstLetter1 = getFirstLetter(chineseChar1);const firstLetter2 = getFirstLetter(chineseChar2);const firstLetter3 = getFirstLetter(chineseChar3);const firstLetter4 = getFirstLetter(chineseChar4);const firstLetter5 = getFirstLetter(chineseChar5);const firstLetter6 = getFirstLetter(chineseChar6);const firstLetter7 = getFirstLetter(chineseChar7);const firstLetter8 = getFirstLetter(chineseChar8);// 上面那个函数将包含中文的直接转换后返回首字母,非中文的如果是英文则转换为大写直接返回,特殊字符也是直接返回console.log(firstLetter); // 输出:Nconsole.log(firstLetter1); // 输出:Aconsole.log(firstLetter2); // 输出:Aconsole.log(firstLetter3); // 输出:Aconsole.log(firstLetter4); // 输出:Nconsole.log(firstLetter5); // 输出:Nconsole.log(firstLetter6); // 输出:Nconsole.log(firstLetter7); // 输出:ABCconsole.log(firstLetter8); // 输出:?};// 调用测试函数test();return (<View><Text>111</Text></View>);
};export default App;