中文轉換成拼音

2021-09-29 16:06:17 字數 2555 閱讀 9526

利用微軟的microsoft.pinyinconverter能夠查詢出單個漢字的讀音,

然後利用這個類通過排列組合就能得出詞語中有多音情況下的集合。

/// 

/// 得到首字母

///

/// 中文文字

/// 中文文字的拼音首字母

public

static

string

getinitials

(string text)

=>

string

.isnullorempty

(text)

?null

:new

list

<

chinesechar

>

(text.

where

(ch =

> regex.

ismatch

(ch.

tostring()

,@"[\u4e00-\u9fbb]"))

.select

(ch =

>

newchinesechar

(ch)))

.select

(cc =

> cc.pinyins.

where

(pinyin =

>

!string

.isnullorempty

(pinyin)).

select

(pinyin =

> pinyin[0]

).distinct()

).aggregate

((ienumerablechar

>

>

)new

ienumerable

<

char

>

,(accumulator, sequence)

=>

from accseq in accumulator

from item in sequence

select accseq.

concat

(new

),(result)

=> result.

select

(r =

>

newstring

(r.toarray()

))).

toarray()

;///

/// 得到拼音

///

/// 中文文字

/// 中文文字的拼音

public

static

string

getpinyin

(string text)

=>

string

.isnullorempty

(text)

?null

:new

list

<

chinesechar

>

(text.

where

(ch =

> regex.

ismatch

(ch.

tostring()

,@"[\u4e00-\u9fbb]"))

.select

(ch =

>

newchinesechar

(ch)))

.select

(cc =

> cc.pinyins.

where

(pinyin =

>

!string

.isnullorempty

(pinyin)).

select

(pinyin =

> pinyin.

substring(0

, pinyin.length -1)

).distinct()

).aggregate

((ienumerablestring

>

>

)new

ienumerable

<

string

>

,(accumulator, sequence)

=>

from accseq in accumulator

from item in sequence

select accseq.

concat

(new

),(result)

=> result.

select

(r =

>

string

.join

(" "

, r.

select

(s =

>

string

.concat

(s[0

], s.

substring(1

).tolower()

))))

).toarray()

;

PHP 中文轉換成拼音

encode方法中傳進兩個引數,utf8data,sretformat,第乙個引數為傳入的中文,字元編碼為utf 8,如果不是這個編碼要轉換成utf 8,第二個引數head 首字母 all 全拼音,返回值為轉換後的拼音 class utf8topinyin if ichr 160 ichr ichr...

C 漢字轉拼音 將中文轉換成拼音

建立乙個公共類,用於轉換漢字 public class chntoph 定義拼音陣列 private static string getname new string 建立乙個convertch方法用於將漢字轉換成全拼的拼音,其中,引數代表漢字字串,此方法的返回值是轉換後的拼音字串 public s...

漢字轉換成拼音

c 乙個有用的漢字轉拼音類 c 漢字轉換為拼音的類,含大小寫轉換 因為是靜態函式 呼叫方法很簡單 crazycoderpinyin.convert 瘋狂 如下 using system using system.collections.generic using system.text using ...