什么是单汉字对汉文化的影响串、双汉字对汉文化的影响串、三汉字对汉文化的影响串?

根据汉字获取它的字符串拼音首字母(大写),含多音字
& /// &summary&
&&&&&&& /// 根据汉字获取它的字符串拼音首字母(大写),含多音字
&&&&&&& /// &/summary&
&&&&&&& /// &param name=&chineseStr&&&/param&
&&&&&&& /// &returns&&/returns&
&&&&&&& public static string GetFirstSpellByChinese(string chineseStr)
&&&&&&&&&&& int i, j, k,
&&&&&&&&&&& string tmpS
&&&&&&&&&&& string returnStr = &&;& //返回最终结果的字符串
&&&&&&&&&&& string[] tmpA
&&&&&&&&&&& for (i = 0; i & chineseStr.L i++)
&&&&&&&&&&& {&& //处理汉字字符串,对每个汉字的首字母进行一次循环
&&&&&&&&&&&&&&& tmpStr = GetShellByChinese((char)chineseStr[i]);&& //获取第i个汉字的拼音首字母,可能为1个或多个
&&&&&&&&&&&&&&& if (tmpStr.Length & 0)
&&&&&&&&&&&&&&& {&& //汉字的拼音首字母存在的情况才进行操作
&&&&&&&&&&&&&&&&&&& if (returnStr != &&)
&&&&&&&&&&&&&&&&&&& {&& //不是第一个汉字
&&&&&&&&&&&&&&&&&&&&&&& Regex regex = new Regex(&,&);
&&&&&&&&&&&&&&&&&&&&&&& tmpArr = regex.Split(returnStr);
&&&&&&&&&&&&&&&&&&&&&&& returnStr = &&;
&&&&&&&&&&&&&&&&&&&&&&& for (k = 0; k & tmpArr.L k++)
&&&&&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&&& for (j = 0; j & tmpStr.L j++)&&& //对返回的每个首字母进行拼接
&&&&&&&&&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& string charcode = tmpStr[j].ToString(); //取出第j个拼音字母
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& returnStr += tmpArr[k] + charcode + &,&;
&&&&&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&&&&& if (returnStr != &&)
&&&&&&&&&&&&&&&&&&&&&&&&&&& returnStr = returnStr.Substring(0, returnStr.Length - 1);
&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&& else
&&&&&&&&&&&&&&&&&&& {&& //构造第一个汉字返回结果
&&&&&&&&&&&&&&&&&&&&&&& for (m = 0; m & tmpStr.Length - 1; m++)
&&&&&&&&&&&&&&&&&&&&&&&&&&& returnStr += tmpStr[m] + &,&;
&&&&&&&&&&&&&&&&&&&&&&& returnStr += tmpStr[tmpStr.Length - 1];
&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& }
&&&&&&&&&&& }
&&&&&&&&&&& return returnS&& //返回处理结果字符串,以,分隔每个拼音组合
&&&&&&& /// &summary&
&&&&&&& /// 获取单个汉字对应的拼音首字符字符串
&&&&&&& /// &/summary&
&&&&&&& /// &param name=&chineseCh&&&/param&
&&&&&&& /// &returns&&/returns&
&&&&&&& private static string GetShellByChinese(char chineseCh)
&&&&&&&&&&& // 汉字拼音首字母列表 本列表包含了20902个汉字,收录的字符的Unicode编码范围为1
&&&&&&&&&&& string strChineseFirstPY =&
&&&&&&&&&&& //此处收录了375个多音字
&&&&&&&&&&& string MultiPinyin =&
&&&&&&&&&&& string resStr = &&;
&&&&&&&&&&& int i, j,
&&&&&&&&&&& uni = (UInt16)chineseCh;
&&&&&&&&&&& if (uni & 40869 || uni & 19968)
&&&&&&&&&&&&&&& return resS
&&&&&&&&&&& //返回该字符在Unicode字符集中的编码值
&&&&&&&&&&& i = MultiPinyin.IndexOf(uni.ToString());
&&&&&&&&&&& //检查是否是多音字,是按多音字处理,不是就直接在strChineseFirstPY字符串中找对应的首字母
&&&&&&&&&&& if (i & 0)
&&&&&&&&&&& //获取非多音字汉字首字母
&&&&&&&&&&& {
&&&&&&&&&&&&&&& resStr = strChineseFirstPY[uni - 19968].ToString();
&&&&&&&&&&& }
&&&&&&&&&&& else
&&&&&&&&&&& {&& //获取多音字汉字首字母
&&&&&&&&&&&&&&& j = MultiPinyin.IndexOf(&,&, i);
&&&&&&&&&&&&&&& resStr = MultiPinyin.Substring(i + 6, j - i - 6);
&&&&&&&&&&& }
&&&&&&&&&&&&&& return resS
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'php使用strlen()判断中文汉字字符串长度-常见问题-Php教程-壹聚教程网php使用strlen()判断中文汉字字符串长度
用strlen()函数可以简单模糊的判断字符长度了,像如果你是汉字与拼音或编码不一样使用用strlen()函数计算出来的都不一样,下面我来给大家介绍一下用strlen()函数的使用方法吧。
们经常会用到了解字符串长度的时候,在PHP里,可以使用strlen()函数来实现。使用方法如下:
PHP strlen() 函数定义和用法
strlen() 函数返回字符串的长度。
strlen(string)
参数:string
描述:必需。规定要检查的字符串。
echo strlen(&Hello world!&);
那么对于中文怎么处理
PHP自带的函数如strlen()、mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节。例:
enStr = &Hello,China!&;
echo strlen($enStr); // 输出:12
而中文则不然,做中文网站一般会选择两种编码:gbk/gb2312或是utf-8。utf-8能兼容更多的字符,所以受到很多站长的喜爱。gbk与utf-8对中文的编码不同,导致中文在gbk与utf-8编码下所占字节也有差异。
gbk编码下每个中文字符所占字节为2,例:
$zhStr = &您好,中国!&;
echo strlen($zhStr); // 输出:12
utf-8编码下每个中文字符所占字节为3,例:
$zhStr = &您好,中国!&;
echo strlen($zhStr); // 输出:18
那么如何计算这组中文字符串的长度呢?有人可能会说gbk下获取中文字符串长度除以2,utf-8编码下除以3不就行了吗?但是您要考虑字符串并不老实,99%的情况会以中英混合的情况出现。
这是中的一段代码,主要思想就是先用正则将字符串分解为个体单元,然后再计算单元的个数即字符串的长度,代码如下(只能处理utf-8编码下的字符串):
$zhStr = &您好,中国!&;
$str = &Hello,中国!&;
// 计算中文字符串长度
function utf8_strlen($string = null) {
// 将字符串分解为单元
_all(&/./us&, $string, $match);
// 返回单元个数
return count($match[0]);
echo utf8_strlen($zhStr); // 输出:6
echo utf8_strlen($str); // 输出:9
下面是补充:准确计算字符个数和计算字节数的区别
/假设当前页面编码为GBK
$str=&中国abc&;
echo strlen($str); //返回7,因为 GBK编码每个中文两个字节,strlen是返回字符串所占的字节长度。
echo &&hr&&;
echo _strlen($str,&GBK&); //返回5.iconv_strlen 是统计字符串的字符数量
或者这么写
$biaoti=&中华人民共和国&;
$zijie=strlen($biaoti);
echo $zijie.&&br&&; //&br&& 换行
//假设当前页面编码为UTF-8
$str=&中国abc&;
echo strlen($str); //返回9,因为 UTF-8编码每个中文三个字节,strlen是返回字符串所占的字节长度。
echo &&hr&&;
echo iconv_strlen($str,&UTF-8&); //返回5.iconv_strlen 是统计字符串的字符数量
iconv_strlen 是无论是何种编码,均能计算准确字符个数。
//假设当前页面编码为GBK
$str=&中国abc&;
echo strlen($str); //返回7,因为 GBK编码每个中文两个字节,strlen是返回字符串所占的字节长度。
echo &&hr&&;
echo iconv_strlen($str,&GBK&); //返回5.iconv_strlen 是统计字符串的字符数量
//假设当前页面编码为UTF-8
$str=&中国abc&;
echo strlen($str); //返回9,因为 UTF-8编码每个中文三个字节,strlen是返回字符串所占的字节长度。
echo &&hr&&;
echo iconv_strlen($str,&UTF-8&); //返回5.iconv_strlen 是统计字符串的字符数量
iconv_strlen 是无论是何种编码,均能计算准确字符个数。
上一页: &&&&&下一页:相关内容查看: 6033|回复: 11
字段匹配:是否可以用lookup匹配含有汉字、字符和数字的字符串
阅读权限10
在线时间 小时
现在工作遇见一个问题,就是希望在不加数字代码的前提下,直接对含有汉字、字母、数字和下划线的长字符串进行匹配,请问各位大侠有没有好的建议?例子如附件。多谢各位解答
17:42 上传
点击文件名下载附件
7.63 KB, 下载次数: 96
阅读权限95
在线时间 小时
=VLOOKUP(D2,IF({1,0},$B$22:$B$32,$A$22:$A$32),2,) 下拉
阅读权限150
在线时间 小时
=LOOKUP(1,0/(B$22:B$32=D2),A$22:A$32)
阅读权限150
在线时间 小时
=SUMIF(B$22:B$32,D2,A$22)
阅读权限150
在线时间 小时
wshcw 发表于
=SUMIF(B$22:B$32,D2,A$22)
=SUMIF(B:B,D2,A:A)
18:06 上传
点击文件名下载附件
4.48 KB, 下载次数: 32
阅读权限10
在线时间 小时
wshcw 发表于
=LOOKUP(1,0/(B$22:B$32=D2),A$22:A$32)
非常感谢您您得支持,不过不太明白那个“1,0/”的含义,如果可以,请帮忙解释一下,谢谢!
0在分子上就是让分母为0的项出错,然后就1来查询比它小的最后一个0所对应的项。&
阅读权限10
在线时间 小时
祝洪忠 发表于
=VLOOKUP(D2,IF({1,0},$B$22:$B$32,$A$22:$A$32),2,) 下拉
感谢您得回复,请问IF({1,0},$B$22:$B$32,$A$22:$A$32)这个含义是怎样的啊?{1,0}是循环的含义嘛?
阅读权限10
在线时间 小时
wshcw 发表于
=SUMIF(B:B,D2,A:A)
非常感谢4,5楼提供得思路,不胜感激。
阅读权限95
在线时间 小时
ranny_zhang 发表于
感谢您得回复,请问IF({1,0},$B$22:$B$32,$A$22:$A$32)这个含义是怎样的啊?{1,0}是循环的含义嘛?
您好,vlookup函数要求待查找的内容必须位于查找区域的第一列,而本列中实际我们查找的内容位于B列,要返回的是A列内容,不符合vlookup函数的查询要求。这时我们用if({1,0},列B,列A),将区域进行转置,说白了,就是用if告诉vlookup你要把l列B排在第一列进行查找。
啰啰嗦嗦说了很多,只是个人见解,希望对你能有所帮助,不妥谬误之处还请各位老师指正。
阅读权限10
在线时间 小时
祝洪忠 发表于
您好,vlookup函数要求待查找的内容必须位于查找区域的第一列,而本列中实际我们查找的内容位于B列,要返 ...
这么回事啊,多谢您的帮助。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师(window.slotbydup = window.slotbydup || []).push({
id: '2461437',
container: s,
size: '960,48',
display: 'inlay-fix'
[计] unit string
The string was longer than the limit of 16380 byte characters.
该字符串的长度超过了16380个单字节字符的限制.
Strings can contain single - byte characters, double - byte characters, or both.
字符串可以包含 单字节字符 、 双字节字符或同时包含这两种字符.
词霸Android版
牛津词典免费使用!
立刻扫码下载
牛津词典免费使用!
立刻扫码下载
unit string
单步回应 unit step response单位字串,单位串,(只有一个实体的)单字符串,单元字串 unit string单元开关,组合开关 unit switch
字符串单模式匹配算法
algorithm for string single pattern matching
a new algorithm for string single pattern matching ., 一种新的字符串单模式匹配算法.
爱词霸查词为您提供在线翻译、英语翻译、英文翻译、英译汉、汉译英、fanyi等权威在线翻译服务!
创建新的生词本
i该生词本已经创建啦!
i不可以出现中文,英文,数字之外的符号哒!
i生词本名称长度不能大于24字符!
i请填写生词本名称!

我要回帖

更多关于 java 字符串取汉字 的文章

 

随机推荐