#region 漢字轉換成拼音
///
/// 漢字轉換成拼音
///
/// 中文字串
/// 每個漢字拼音間隔符號
/// 返回帶間隔符的拼音串
public
static
string
ntconverttopinyin
(string chrstr,
char compartsign)
i1 =
(short
)(array[0]
);i2 =
(short
)(array[1]
);chrasc = i1 *
256+ i2 -
65536;if
(chrasc >
0&& chrasc <
160)
else}}
//拼音間隔符
if(j != nowchar.length -1)
returnstr +
= compartsign;}}
catch
(exception ex)
return returnstr;
}#endregion
#region 漢字轉換成拼音
///
/// 漢字轉換成拼音
/// 如果是漢字和英文本母混雜的,則不做處理返回null,如果是純漢字則返回漢字的首字母字串。
///
/// 中文字串
/// 是否過濾英文本母和特殊字元
/// 漢字首字母字串
public
static
string
ntconverttopinyin
(string chrstr,
bool isfilterchar)
else
} i1 =
(short
)(array[0]
);i2 =
(short
)(array[1]
);chrasc = i1 *
256+ i2 -
65536;if
(chrasc >
0&& chrasc <
160)
else}}
//拼音間隔符
if(j != nowchar.length -1)
returnstr +
='~';}
string
temp = returnstr.
split
('~');
stringbuilder sb =
newstringbuilder()
;for
(int i =
0; i < temp.length; i++
) returnstr = sb.
tostring()
;}catch
(exception ex)
return returnstr;
}#endregion
#region 要判斷的字元
///
/// 要判斷的字元
/// 返回值是「1」表示大寫英文本母,「0」表示小寫英文本母,「2」表示數字,其它不是英文本母也不是數字的特殊符號返回「-1」
public
static
intntcheckcasenum
(char letter)
else
if(letterascii >=
97&& letterascii <=
122)
else
if(letterascii >=
48&& letterascii <=57)
else
return returnback;
}#endregion
#region 判斷串中首字是否是漢字
///
/// 判斷串中首字是否是漢字
///
///
///
public
static
bool
ntcheckischinese
(string charstr)
char
nowchar = charstr.
tochararray()
;int charascii = convert.
toint32
(nowchar[0]
);if(charascii >=
19968
&& charascii <=
40869
)else
return returnback;
}#endregion
#region 檢查字串中是否是漢字、數字、英文本母混雜
///
/// 檢查字串中是否是漢字、數字、英文本母混雜
///
/// 目標字串
/// bool
public
static
bool
ntcheckunify
(string str)
if(str.
trim()
.length ==1)
char
nowchar = str.
tochararray()
;for
(int i =
0; i < nowchar.length; i++
)else}}
return returnback;
}#endregion
#region 判斷輸入的字串是否符合是由數字和英文本母組成
///
/// 判斷輸入的字串是否符合是由數字和英文本母組成
///
/// 字串
/// 是否符合要求
public
static
bool
ntcheckcharnum
(string str)}}
}else
if(truecount == nowchar.length)
else
return returnback;
}#endregion
#region 檢查字串是否是純數字組成
///
/// 檢查字串是否是純數字組成
///
///
///
public
static
bool
ntcheckisnumber
(string str)
#endregion
#region 返回帶換行符號的字串
///
/// 返回帶換行符號的字串
///
/// 原始字串
/// 第一行的長度(以位元組計算)
/// 行的長度(以位元組計算)
///
public
static
string
ntgetrowstring
(string str,
int firstlen,
int rowlen)
else
if(tmplen == firstlen -
1|| tmplen == firstlen)if(
(tmplen - fstlen)
%(rowlen)==0
&& i - lstlen >2)
elseif(
(tmplen - fstlen)
%(rowlen)==1
&& i - lstlen >2)
}return sb.
tostring()
;}#endregion
public
static
string
ntconverttopinyin
(string chrstr)
i1 =
(short
)(array[0]
);i2 =
(short
)(array[1]
);chrasc = i1 *
256+ i2 -
65536;if
(chrasc >
0&& chrasc <
160)
else}}
//拼音間隔符
if(j != nowchar.length -1)
returnstr +
='~';}
string
temp = returnstr.
split
('~');
stringbuilder sb =
newstringbuilder()
;for
(int i =
0; i < temp.length; i++)}
returnstr = sb.
tostring()
;}catch
(exception ex)
return returnstr;
}private
static
int[
] pyvalue =
newint
;private
static
string
pystr =
newstring
;
漢字首字母
在很多軟體中,輸入拼音的首寫字母就可以快速定位到某個詞條。比如,在鐵路售票軟體中,輸入 bj 就可以定位到 北京 怎樣在自己的軟體中實現這個功能呢?問題的關鍵在於 對每個漢字必須能計算出它的拼音首字母。gb2312漢字編碼方式中,一級漢字的3755個是按照拼音順序排列的。我們可以利用這個特徵,對常用...
取漢字首字母
public function hz2py byval hz as string as string dim sarr as byte system.text.encoding.default.getbytes hz dim len as integer sarr.length if len 1 t...
提取漢字首字母
using system using system.collections.generic using system.text namespace stringoption return mystr 把提取的字母變成大寫 需要轉換的字串 轉換結果 public static string getlo...