-
java判断字符串长度_java判断中文字符串长度的简单实例
2021-02-12 10:51:38/*** 获取字符串的长度,如果有中文,则每个中文字符计为2位* @param value 指定的字符串* @return 字符串的长度*/public static int length(String value) {int valueLength = 0;String chinese = "[\u0391-\uFFE5].../**
* 获取字符串的长度,如果有中文,则每个中文字符计为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;
}
/**
* 得到一个字符串的长度,显示的长度,一个汉字或日韩文长度为2,英文字符长度为1
* @param String s 需要得到长度的字符串
* @return int 得到的字符串长度
*/
public static int length(String s) {
if (s == null)
return 0;
char[] c = s.toCharArray();
int len = 0;
for (int i = 0; i < c.length; i++) {
len++;
if (!isLetter(c[i])) {
len++;
}
}
return len;
}
/**
* 得到一个字符串的长度,显示的长度,一个汉字或日韩文长度为1,英文字符长度为0.5
* @param String s 需要得到长度的字符串
* @return int 得到的字符串长度
*/
public static double getLength(String s) {
double valueLength = 0;
String chinese = "[\u4e00-\u9fa5]";
// 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1
for (int i = 0; i < s.length(); i++) {
// 获取一个字符
String temp = s.substring(i, i + 1);
// 判断是否为中文字符
if (temp.matches(chinese)) {
// 中文字符长度为1
valueLength += 1;
} else {
// 其他字符长度为0.5
valueLength += 0.5;
}
}
//进位取整
return Math.ceil(valueLength);
}
根据长度截取内容,区分中英文:
/**
* 截取字符长度,区分中英文
*
* @param abc 字符串内容
* @param len 截取长度
* @return
*/
public static String subStr(String abc, int len) {
if (TextUtils.isEmpty(abc) || len <= 0)
return "";
StringBuffer stringBuffer = new StringBuffer();
int sum = 0;
char[] chars = abc.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (sum >= (len * 3)) {
break;
}
char bt = chars[i];
if (bt > 64 && bt < 123) {
stringBuffer.append(String.valueOf(bt));
sum += 2;
} else {
stringBuffer.append(String.valueOf(bt));
sum += 3;
}
}
return stringBuffer.toString();
}
-
java判断字符串长度_JAVA 判断字符长度
2021-02-12 10:51:43/*** 判断姓名字符长度* 字符串为空返回0;有中文返回中文字符数;无中文返回2*@paramCustomerSn*@return*/privateInteger getNameLength(Integer CustomerSn){Integer sealWidth= 32;CustomerDto customerDto=.../*** 判断姓名字符长度
* 字符串为空返回0;有中文返回中文字符数;无中文返回2
*@paramCustomerSn
*@return
*/
privateInteger getNameLength(Integer CustomerSn){
Integer sealWidth= 32;
CustomerDto customerDto=customerService.getCustomerBySnForEsign(CustomerSn);
String custSurname=customerDto.getCustSurname();
String custName=customerDto.getCustName();
Integer SurnameLen= this.count(custSurname);
Integer NameLen= this.count(custName);
Integer length= SurnameLen+NameLen;if(length>=0 && length<=4){
sealWidth= length*16;
}else if(length.equals(5) ||length.equals(6)){
sealWidth= 3*16;
}returnsealWidth;
}/***
* 统计字符串中中文,英文,数字,空格等字符个数
*@paramstr 需要统计的字符串*/
privateInteger count(String str) {int chCharacter = 0;//中文字符
int enCharacter = 0;//英文字符
int spaceCharacter = 0;//空格
int numberCharacter = 0;//数字
int otherCharacter = 0;//其他字符
if (null == str || str.equals("")) {return 0;
}for (int i = 0; i < str.length(); i++) {char tmp =str.charAt(i);if ((tmp >= 'A' && tmp <= 'Z') || (tmp >= 'a' && tmp <= 'z')) {
enCharacter++;
}else if ((tmp >= '0') && (tmp <= '9')) {
numberCharacter++;
}else if (tmp ==' ') {
spaceCharacter++;
}else if(isChinese(tmp)) {
chCharacter++;
}else{
otherCharacter++;
}
}
logger.info("字符串:" + str + " "+"中文字符有:" + chCharacter+"英文字符有:" + enCharacter+"数字有:" + numberCharacter+"空格有:" + spaceCharacter+"其他字符有:" +otherCharacter);if(chCharacter>0){returnchCharacter;
}else{return 1;
}
}private boolean isChinese(charch) {//获取此字符的UniCodeBlock
Character.UnicodeBlock ub =Character.UnicodeBlock.of(ch);//GENERAL_PUNCTUATION 判断中文的“号//CJK_SYMBOLS_AND_PUNCTUATION 判断中文的。号//HALFWIDTH_AND_FULLWIDTH_FORMS 判断中文的,号
if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub ==Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub ==Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub ==Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS|| ub ==Character.UnicodeBlock.GENERAL_PUNCTUATION) {return true;
}return false;
}
-
Java判断字符串长度
2019-04-25 15:35:02Java判断字符串长度首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的。教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈~我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转到教程
今天一个程序出了问题,排查了半天才发现,原来是因为原来的一个计算汉字长度的代码出了问题:
public static int getStringRealLength(String str) throws Exception{
String str1 = new String(str.getBytes("GB2312"),"iso-8859-1");
return str1.length();
}汉字中有生僻字:“旸”,结果计算出长度为1。后来将GB2312改成GBK就可以了。因为字符可以正确算出长度。
原帖地址:http://blog.csdn.net/soundfuture/article/details/11601653
汉字所占byte问题请参考我的博文:http://blog.csdn.net/woshixuye/article/details/7907537
-
java判断字符长度_java判断中文字符串长度的简单实例
2021-02-12 15:29:38话不多说,上代码:/*** 获取字符串的长度,如果有中文,则每个中文字符计为2位* @param value 指定的字符串* @return 字符串的长度*/public static int length(String value) {int valueLength = 0;String chinese ...话不多说,上代码:
/**
* 获取字符串的长度,如果有中文,则每个中文字符计为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;
}
/**
* 得到一个字符串的长度,显示的长度,一个汉字或日韩文长度为2,英文字符长度为1
* @param String s 需要得到长度的字符串
* @return int 得到的字符串长度
*/
public static int length(String s) {
if (s == null)
return 0;
char[] c = s.tocharArray();
int len = 0;
for (int i = 0; i < c.length; i++) {
len++;
if (!isLetter(c[i])) {
len++;
}
}
return len;
}
/**
* 得到一个字符串的长度,一个汉字或日韩文长度为1,英文字符长度为0.5
* @param String s 需要得到长度的字符串
* @return int 得到的字符串长度
*/
public static double getLength(String s) {
double valueLength = 0;
String chinese = "[\u4e00-\u9fa5]";
// 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1
for (int i = 0; i < s.length(); i++) {
// 获取一个字符
String temp = s.substring(i,i + 1);
// 判断是否为中文字符
if (temp.matches(chinese)) {
// 中文字符长度为1
valueLength += 1;
} else {
// 其他字符长度为0.5
valueLength += 0.5;
}
}
//进位取整
return Math.ceil(valueLength);
}
根据长度截取内容,区分中英文:
/**
* 截取字符长度,区分中英文
*
* @param abc 字符串内容
* @param len 截取长度
* @return
*/
public static String subStr(String abc,int len) {
if (TextUtils.isEmpty(abc) || len <= 0)
return "";
StringBuffer stringBuffer = new StringBuffer();
int sum = 0;
char[] chars = abc.tocharArray();
for (int i = 0; i < chars.length; i++) {
if (sum >= (len * 3)) {
break;
}
char bt = chars[i];
if (bt > 64 && bt < 123) {
stringBuffer.append(String.valueOf(bt));
sum += 2;
} else {
stringBuffer.append(String.valueOf(bt));
sum += 3;
}
}
return stringBuffer.toString();
}
以上这篇java判断中文字符串长度的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250
-
java判断字符串长度_java中判断字符串真实长度(中文2个字符,英文1个字符)的方法...
2021-02-12 10:51:35} } 输出结果 true12 false8 java中判断字段真实长度(中文2个字符,英文1个字符)的方法 1、判断字符串是否为连续的中文字符(不包含英文及其他任何符号和数字): Regex.IsMatch(“中文”,”^[/u4e00-/u9fa5]”);... -
java判断字符串长度
2012-12-18 13:49:54* 获取字符串的长度,如果有中文,则每个中文字符计为2位 * * @param value * 指定的字符串 * @return 字符串的长度 */ public static int length(String value) { int valueLength =... -
字符串长度的判断 JAVA
2012-02-22 11:26:40在JAVA里面实现判断字符串长度,和截取字符串 -
java字符串长度_java如何获取字符串长度
2021-02-12 09:08:05//创建一个包public class TextLength {//描述字符串长度的类public static boolean isChineseChar(char c) throws Exception{//判断是否是一个汉字return String.valueOf(c).getBytes("GBK").length>1;//汉字的... -
java判断中文字符串长度_java判断中文字符串长度的简单实例
2021-02-25 18:31:31话不多说,上代码:/*** 获取字符串的长度,如果有中文,则每个中文字符计为2位* @param value 指定的字符串* @return 字符串的长度*/public static int length(String value) {int valueLength = 0;String chinese ... -
java判断中文字符串长度
2017-01-09 17:05:58* 获取字符串的长度,如果有中文,则每个中文字符计为2位 * @param value 指定的字符串 * @return 字符串的长度 */ public static int length(String value) { int valueLength = 0; String chinese = "[\ -
java判断中文字符串长度的简单实例
2020-08-31 14:04:53下面小编就为大家带来一篇java判断中文字符串长度的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
Java 判断中文字符串长度
2018-07-31 14:54:10... import java.io.UnsupportedEncodingException; /** * 在Java中按字节获得字符串长度的两种方法 * */ public class App { public static void main( String[] args ) throws... -
Java实现判断中文字符串长度
2019-10-08 18:44:07但有时需要以字节单位获得字符串长度。例如:“123Java编程”按字节长度计算是11,而按Unicode计算则是7。为了获得11,需要根据字符的ASCII从头扫描,来获得具体的长度。如果是标准的字符,Ascii的范围是0至255,... -
java判断空字符串_Java中如何判断空字符串
2021-02-12 10:19:11以下是 Java 判断字符串是否为空的几种方法.方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低.方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法.方法三: Java SE 6.0 才开始提供的办法, 效率和方法二... -
java判断长度_JAVA如何判断字符串的长度?
2021-02-12 12:53:37// 查看当前去掉字符是否为"." if( IsPoint.compareTo( "." ) == 0 ){ PointState = false; } DisplayString = DisplayString.substring( 0, ( DisplayString.length()-1 ) ); if( DisplayString.length() == 0 || ... -
java 判断中文字符串长度
2014-03-17 23:27:41/** * 获取字符串的长度,中文占一个字符,英文数字占半个字符 * * @param value 指定的字符串 * @return 字符串的长度 */ public static double length(String value) { -
struts s:if 截取字符串,判断字符串长度
2013-07-25 09:11:14[转载]struts s:if 截取字符串,判断字符串长度 (转载地址:请点击上面的链接) [html] view plaincopy <%@ page language="java" import="java.util.*"... -
Java中String类判断字符串的长度、字符串是否为空
2020-05-27 08:06:40package changYongLei; public class length_String {...// length() 返回此字符串的长度。----int System.out.println(s1.length());//空格也算一个字符 // isEmpty() 当且仅当 length() 为 0 时返回 true。-----b
-
龙芯生态应用开发基础:C语言精要
-
朱老师c++课程第3部分-3.5STL的其他容器讲解
-
JS_08-JQuery快速制作高效网页交互特效
-
开源软件测试模型
-
Unity ILRuntime框架设计
-
SecureCRT 连接 GNS3/Linux 的安全精密工具
-
晓看红湿处 ,花重锦官城
-
百瓦级全光纤线偏振激光振荡器
-
鸿蒙系统Harmonyos源码架构分析-第1期第2课
-
LVS + Keepalived 实现 MySQL 负载均衡与高可用
-
Apache Solr xml实体注入漏洞 CVE-2017-12629 漏洞复现未完成
-
win10 php安装seaslog扩展
-
PHPUnit远程代码执行漏洞 CVE-2017-9841 漏洞复现
-
CSRFTester:一款CSRF漏洞的安全测试工具
-
PHP base64 编码转化图片并进行指定路径的保存和上传处理
-
将 pip 的默认源修改为阿里源(Windows 版)
-
Python启蒙到架构师的核心技术精讲课程
-
编程训练第十三期——在排序数组中查找元素的第一个和最后一个位置
-
迪普食品-源码
-
Galera 高可用 MySQL 集群(PXC v5.6 + Ngin