中英文 字符 截取 判断 中文 英文
来源:互联网 发布:php的ext目录 编辑:程序博客网 时间:2024/04/27 23:53
public class Demo{
/**
* 判断一个字符是Ascill字符还是其它字符(如汉,日,韩文字符)
*
* @param char
* c, 需要判断的字符
* @return boolean, 返回true,Ascill字符
*/
public static boolean isLetter(char c) {
int k = 0x80;
return c / k == 0 ? true : false;
}
/**
* 得到一个字符串的长度,显示的长度,一个汉字或日韩文长度为2,英文字符长度为1
*
* @param String
* s ,需要得到长度的字符串
* @return int, 得到的字符串长度
*/
public static int lengths(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;
}
/**
* 截取一段字符的长度,不区分中英文,如果数字不正好,则少取一个字符位
*
* @author patriotlml
* @param String
* origin, 原始字符串
* @param int
* len, 截取长度(一个汉字长度按2算的)
* @return String, 返回的字符串
*/
public static String substring(String origin, int len) {
if (origin == null || origin.equals("")||len<1)
return "";
byte[] strByte = new byte[len];
if (len > lengths(origin)){
return origin;
}
//从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
System.arraycopy(origin.getBytes(), 0, strByte, 0, len);
int count = 0;
for (int i = 0; i < len; i++) {
int value = (int) strByte[i];
if (value < 0) {
count++;
}
}
if (count % 2 != 0) {
//len = (len == 1) ? ++len : --len;
--len;
}
return new String(strByte, 0, len);
}
public static void main(String[] agrs){
Demo demo = new Demo();
System.out.println (demo.isLetter('我'));
}
}
- 中英文 字符 截取 判断 中文 英文
- 前台判断中英文字符长度,中文2英文1,并可截取
- PHP字符截取函数。兼容中文,英文,中英文混杂等情况
- C#中进行中英文字符截取(中文2个长度,英文1个)
- js判断字符长度,含中英文数字以及含中文字符截取的问题
- 判断是中文字符还是英文字符
- asp截取中英文字符
- c#截取中英文字符
- 中英文混合字符截取
- 截取中英文字符函数
- Java判断字符是中文还是英文
- C# 判断字符是否中文还是英文
- C#判断字符是英文还是中文
- jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
- jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
- python中从字符串中截取中文和英文字符
- 处理中英文字符长度截取
- 兼容中英文的字符截取
- Oracle Stream 配置
- rails 结构体 Struct 转Hash/数组检测为空
- DM9000A网卡芯片介绍
- 跪求JavaScript解释
- MySQL给用户名添密码的五种方法(转载)
- 中英文 字符 截取 判断 中文 英文
- SERVICE模块说明
- Jquery-图片切换和图片放大镜效果(jqzoom + jcarousel )
- 转贴---WEB项目(struts1.X)乱码终结
- 关于存储过程局部变量
- 修改Oracle10g、11g系统自动统计Job的运行时间属性
- 灾备-DG配置
- MTK输入法模块相关
- 旧历11月初十