获取中文的完整拼音并输出

1.添加maven依赖

     <dependency>
            <groupId>com.belerweb</groupId>
            <artifactId>pinyin4j</artifactId>
            <version>2.5.0</version>
        </dependency>

2.获取拼音逻辑

public static String converterToFirstSpell(String chines) {
        String pinyinName = "";
        char[] nameChar = chines.toCharArray();
        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
        defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
        for (int i = 0; i < nameChar.length; i++) {
            String s = String.valueOf(nameChar[i]);
            if (s.matches("[\\u4e00-\\u9fa5]")) {
                try {
                    String[] mPinyinArray = PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat);
                    pinyinName += mPinyinArray[0];
                } catch (BadHanyuPinyinOutputFormatCombination e) {
                    e.printStackTrace();
                }
            } else {
                pinyinName += nameChar[i];
            }
        }
        return pinyinName;
    }
时间: 2024-10-09 07:19:11

获取中文的完整拼音并输出的相关文章

Java获取中文汉字的拼音

Java获取中文汉字的拼音 参考地址:https://www.cnblogs.com/langtianya/p/7098089.html 示例代码: 1 package com.tgram.sboot.util; 2 3 import net.sourceforge.pinyin4j.PinyinHelper; 4 import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; 5 import net.sourceforge.pinyin

中文转换为完整拼音算法原理分析

最近由于项目需要,对简体中文转拼音的算法作了一些了解,然而在google找到的大多是获得简体中文拼音首字母的算法,好不容易让我找到了一个sunrise.spell的类,专门用于中文转完整拼音,觉得的确做得不错,于是对它的算法作了一些分析,总的来说觉得还是比较简单的,拿出来与大家分享. 我们先来学习一些准备知识.GB2312编码对于我们中国人是再熟悉不过了,我先简单的分析一下它的编码规则.GB2312编码包括符号.数字.字母.日文.制表符等,当然最主要的部分还是中文,它采用16位编码方式,简体中文

JS获取中文拼音首字母,并通过拼音首字母快速查找页面内的中文内容

实现效果: 图一: 图二: 此例中输入的中文字符串"万万保重",有三个字是多音字,所以alert对话框中显示的是多种读音的组合: 如何实现? 如何实现通过拼音首字母快速查找页面内的中文内容呢? 过程原理是这样的:例如要对一些人名进行快速查找,当页面加载完成后,对所有人名建立一个索引,生成拼音首字母与姓名的对应关系:然后监听键盘事件,当用户按下键盘时,根据键值得到按下的是哪个字母,然后遍历索引中是否存在相同的拼音首字母: 这里还实现了根据字母组合来查找的功能,原理是这样的:当用户按键时,

iOS 获取中文拼音

iOS中文转成拼音. oc: NSString *hanziText = @"中文转拼音"; if ([hanziText length]) { NSMutableString *ms = [[NSMutableString alloc] initWithString:hanziText]; if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformMandarinLatin, NO)) {

如何获取中文输入/拼音

之所以要了解这个问题是因为在autocomplete中我们希望提前捕获用户输入的拼音,这样的话就可以尽早提供常用选项,从而让用户尽量少的输入,尽量快的找到对应选项. 首先想到的就是keyup, keydown, keypress, input事件,看看哪个事件可以在用户输入拼音的时候就捕获.在网上搜了一下,最终解决方案是: 捕获keyup事件 参考: 使用中文输入法时对键盘事件的处理 http://www.cnblogs.com/owenChen/p/3215421.html 如何获取中文输入/

php获取中文字符拼音首字母

//php获取中文字符拼音首字母 function getFirstCharter($str){ if(empty($str)){ return ''; } $fchar = ord($str{0}); if($fchar >= ord('A') && $fchar <= ord('z')){ return strtoupper($str{0}); } $s1=iconv('UTF-8','gb2312',$str); $s2=iconv('gb2312','UTF-8',$s

php获取中文的拼音代码

获取中文的拼音代码 <?php class Pinyin { protected static $keys = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|cang|cao|ce|ceng|cha|chai|chan|chang|chao|che|chen|cheng|chi|chong|chou|chu|chuai|chuan|chuang|chui

php获取中文字符拼音首字母 阿星小栈

//php获取中文字符拼音首字母 public function getFirstWord($str){ if(empty($str)){return '';} $fchar=ord($str{0}); if($fchar>=ord('A')&&$fchar<=ord('z')) return strtoupper($str{0}); $s1=iconv('UTF-8','gb2312',$str); $s2=iconv('gb2312','UTF-8',$s1); $s=$s

.net core 通过PinYinConverterCore实现汉字转拼音,获取中文字符串首字母

目录 一.事故现场 二.解决方法 一.事故现场 项目之前使用的.net framework,可以通过引用 Microsoft.International.Converters.PinYinConverter 类库.来实现汉字转拼音. 现在项目移植到.net core,之前的类库已不能使用. 二.解决方法 使用PinYinConverterCore包来实现汉字转拼音. 1.安装方法 Nuget Install-Package PinYinConverterCore .NET CLI dotnet