java字符串获取汉字拼音首字母的实现方法

网上有很多方法可以通过汉字来获取汉字拼音的首字母,我要实现的是这个字符串当中
还包含了特殊符号,比如字符串为:省辖市属(地区、州、直辖市区),想要获得最终
结果为:SXSS(DQZZXSQ),请各位大侠支招

4个回答

按描述你对获取汉字首字母应该没问题,
对含特殊符号的字符串,可先提取其中的汉字,然后再获取拼音啊
public static String getChineseCode(String retCode){
Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]+");

Matcher matcher = pattern.matcher(retCode);
StringBuffer sb = new StringBuffer();
while(matcher.find()){
sb.append(matcher.group());
}
System.out.println(sb);
return sb.toString();
}

要有相对应的库,你这个功能类似数据库存储省市的编号,但在页面显示的是对应的中文一样,

字符串循环遍历。
//如果不想去掉汉字中的特殊符号,那么可以考虑循环遍历判断的方式
String result = "";
String str = "省辖市属(地区、州、直辖市区)";
for (int index = 0; index < str.length(); index++) {
char signle = str.charAt(index);
//如果是中文 获取 中文首字母 不是则直接拼接
if(Pattern.matches("[\u4E00-\u9FA5]", String.valueOf(signle))){
//此处调用获取首字母方法
result += "此处调用获取首字母方法";
}else{
result += signle;
}
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问