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

JAVA判断字符串的长度

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

我来回答

3个回答

热心网友 时间:2023-10-16 12:26

简单实现代码如下:
public class StringLength {

/**
* 获取字符串的长度,如果有中文,则每个中文字符计为2位
* @param value 指定的字符串
* @return 字符串的长度
*/
public static int length(String value) {
int valueLength = 0;
String chinese = "[\u0391-\uFFE5]";
/* 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1 */
for (int i = 0; i < value.length(); i++) {
/* 获取一个字符 */
String temp = value.substring(i, i + 1);
/* 判断是否为中文字符 */
if (temp.matches(chinese)) {
/* 中文字符长度为2 */
valueLength += 2;
} else {
/* 其他字符长度为1 */
valueLength += 1;
}
}
return valueLength;
}

public static void main(String args[]){
String str = "hello你好";
System.out.println(StringLength.length(str));
}

}

热心网友 时间:2023-10-16 12:26

你又想截取20个长度,中文又算2,如果19个英文+1个中文,你想要什么结果?如果你真想这样截取,那可以先取得字符串的每一个,转换成的byte【】,看这个数组的长度,如果为1则是英文,为2则是中文,这样,再算得你要截取的实际长度是多少

热心网友 时间:2023-10-16 12:27

用subString可以取,不过要判断中英文就有点麻烦了哦

热心网友 时间:2023-10-16 12:26

简单实现代码如下:
public class StringLength {

/**
* 获取字符串的长度,如果有中文,则每个中文字符计为2位
* @param value 指定的字符串
* @return 字符串的长度
*/
public static int length(String value) {
int valueLength = 0;
String chinese = "[\u0391-\uFFE5]";
/* 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1 */
for (int i = 0; i < value.length(); i++) {
/* 获取一个字符 */
String temp = value.substring(i, i + 1);
/* 判断是否为中文字符 */
if (temp.matches(chinese)) {
/* 中文字符长度为2 */
valueLength += 2;
} else {
/* 其他字符长度为1 */
valueLength += 1;
}
}
return valueLength;
}

public static void main(String args[]){
String str = "hello你好";
System.out.println(StringLength.length(str));
}

}

热心网友 时间:2023-10-16 12:26

你又想截取20个长度,中文又算2,如果19个英文+1个中文,你想要什么结果?如果你真想这样截取,那可以先取得字符串的每一个,转换成的byte【】,看这个数组的长度,如果为1则是英文,为2则是中文,这样,再算得你要截取的实际长度是多少

热心网友 时间:2023-10-16 12:27

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