package cn.flightfeather.supervision.common.utils
|
|
import net.sourceforge.pinyin4j.PinyinHelper
|
|
class PinYin {
|
|
companion object{
|
fun getPinYinHeader(str: String): String {
|
|
val temp = str.trim()
|
val result = StringBuilder()
|
for (i in temp.indices) {
|
if (i >= 6) {
|
break
|
}
|
val it = temp[i]
|
if (it in 'a'..'z' || it in 'A'..'Z' || it in '0'..'9') {
|
result.append(it.toString()) //如果字符串是英文不改变
|
} else {
|
PinyinHelper.toHanyuPinyinStringArray(it)?.let { pinyin ->
|
result.append(pinyin[0].elementAt(0) + "")
|
}
|
}
|
}
|
|
return result.toString()
|
}
|
|
/**
|
* 第一个文字获取完整拼音,之后的只取首字母
|
*/
|
fun getPinYinHeader2(str: String): Array<String>? {
|
val temp = str.trim()
|
val result = mutableListOf<String>()
|
var i = 0
|
temp.forEach {
|
// if (i >= 6) {
|
// return@forEach
|
// }
|
if (it in 'a'..'z' || it in 'A'..'Z' || it in '0'..'9') {
|
result.add(it.toString()) //如果字符串是英文不改变
|
} else {
|
PinyinHelper.toHanyuPinyinStringArray(it)?.let { pinyin ->
|
if (i == 0) {
|
result.add(pinyin[0].dropLast(1))
|
} else {
|
result.add(pinyin[0].elementAt(0) + "")
|
}
|
}
|
}
|
i++
|
}
|
|
return result.toTypedArray()
|
}
|
}
|
|
}
|