问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java怎么判断判断某个字段中汉字的长度在2到20内

发布网友 发布时间:2022-05-03 08:20

我来回答

2个回答

热心网友 时间:2022-04-27 19:24

代码如下:
/**
* 在Java中按字节获得字符串长度的两种方法
*
*/

public class App
{
public static void main( String[] args ) throws UnsupportedEncodingException
{
String str = "只";

System.out.println(getWordCount(str));
System.out.println(getWordCountRegex(str));
System.out.println(getWordCountCode(str,"GBK"));
System.out.println(getWordCountCode(str,"UTF-8"));
}

/*由于Java是基于Unicode编码的,因此,一个汉字的长度为1,而不是2。
* 但有时需要以字节单位获得字符串的长度。例如,“123abc长城”按字节长度计算是10,而按Unicode计算长度是8。
* 为了获得10,需要从头扫描根据字符的Ascii来获得具体的长度。如果是标准的字符,Ascii的范围是0至255,如果是汉字或其他全角字符,Ascii会大于255。
* 因此,可以编写如下的方法来获得以字节为单位的字符串长度。*/
public static int getWordCount(String s)
{
int length = 0;
for(int i = 0; i < s.length(); i++)
{
int ascii = Character.codePointAt(s, i);
if(ascii >= 0 && ascii <=255)
length++;
else
length += 2;

}
return length;

}

/*基本原理是将字符串中所有的非标准字符(双字节字符)替换成两个标准字符(**,或其他的也可以)。这样就可以直接例用length方法获得字符串的字节长度了*/
public static int getWordCountRegex(String s)
{

s = s.replaceAll("[^\\x00-\\xff]", "**");
int length = s.length();
return length;
}

/*按特定的编码格式获取长度*/
public static int getWordCountCode(String str, String code) throws UnsupportedEncodingException{
return str.getBytes(code).length;
}
}

热心网友 时间:2022-04-27 20:42

。。。。string.length()
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
kmose正确使用方法? 单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 Java学习手册的前 言 交通银行信用卡超过50岁可以办理吗 Java学习手册的本书内容 JAVA判断字符串的长度 java字符串最大长度 在双十一之前,中通、圆通、极兔、韵达宣布涨派送费,涨价的原因是什么? Java中String接受的最大字符串的长度是多少? 春节快递不放假,但或涨价10-20元,你觉得合理吗? 疫情期间中国邮政寄快递涨价很多,合法吗? java中获取含中文的字符串长度 年底寄快递会涨价吗? 简单的JAVA字符串长度计算的实现 java字符串长度怎么算 如何计算中文字符的长度java 重庆城立方什么情况? 重庆市沙坪坝区大学城南一路协信城立方邮编是多少? 重庆大学城协信城立方属于哪个派出所 重庆大学城协信城立方到哪里拿房权证 重庆启迪协信城立方周边有什么学校? “在用单摆测定重力加速度”的实验中(1)用摆长为L和周期T计算重力加速度的公式是g=______.(2)如果用 Java学习手册的本书特色 java中String类型有没有限制,最大限制是多少? java字符串使用length得到字符串长度对吗? 快递春节不打烊 价格会涨吗? 过年快递涨价了吗? 顺丰快递新年加价吗 顺丰快递省内费用春节涨价了吗 临近春节,快递涨价是否是合理的事呢? 快递一直涨价,快递涨价真的合理吗? 快递公司涨价的背后有什么原因? 快递即将涨价了是真的吗? 春节假期期间EMS快递发布公告加收不超过10元服务费您怎么看 贝壳肉怎么做这吃好 文胸90e上下胸分别各多少厘米 “文胸C90(40)”是什么意思? 儿童内衣90是几岁小孩穿的? 求《折腰》全文+番外txt 《为皇后折腰》txt下载在线阅读全文,求百度网盘云资源 求暮成雪的《折腰》gl全文加番外《凤城》 为皇后折腰小说by浣若君百度云免费资源