1. java怎么识别一个字符串中有汉字
可以使用正则表达式+中文字符编码区间验证一个字符串中是否包含汉字
代码如下:
public static void main(String[] args) {
int count = 0;
String regEx = "[\\u4e00-\\u9fa5]";
//System.out.println(regEx);
String str = "中文fdas ";
//System.out.println(str);
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
while (m.find()) {
for (int i = 0; i <= m.groupCount(); i++) {
count = count + 1;
}
}
System.out.println("共有 " + count + "个 ");
}
2. 求截取带中文的字符串的java方法。
一种做法是根据字节数判断是否为中文,因为英文字符占用一个字节,而汉字占用两个字节,示例如下:
(charc)
{
//如果字节数大于1,是汉字
returnString.valueOf(c).getBytes("UTF-8").length>1;
}
3. Java鍑虹幇h
濡傛灉鍦 Java 浠g爜涓鍑虹幇浜 ???h???锛岃繖鍙鑳芥槸鐢变簬缂栫爜闂棰樺艰嚧鐨勩傚叿浣撳湴璇达紝杩欏彲鑳芥槸鐢变簬浣跨敤浜嗛潪 UTF-8 缂栫爜淇濆瓨浜嗗寘鍚涓鏂囩殑婧愪唬鐮佹枃浠讹紝鎴栬呭湪缂栬瘧 Java 浠g爜鏃朵娇鐢ㄤ簡閿欒鐨勭紪鐮佹牸寮忋
涓轰簡瑙e喅杩欎釜闂棰橈紝鍙浠ュ皾璇曚互涓嬫柟娉曪細
纭璁ょ紪鐮佹牸寮忥細浣跨敤鍚堥傜殑鏂囨湰缂栬緫鍣ㄦ墦寮 Java 浠g爜鏂囦欢锛屽苟纭璁ゅ叾缂栫爜鏍煎紡鏄鍚︿负 UTF-8銆傚傛灉涓嶆槸 UTF-8锛屽垯闇瑕佸皢鍏惰浆鎹涓 UTF-8 缂栫爜鏍煎紡銆
璁剧疆缂栫爜鏍煎紡锛氬湪缂栬瘧 Java 浠g爜鏃讹紝鍙浠ラ氳繃璁剧疆缂栫爜鏍煎紡鐨勬柟寮忚В鍐宠ラ棶棰樸備緥濡傦紝浣跨敤 javac 鍛戒护缂栬瘧 Java 浠g爜鏃讹紝鍙浠ユ坊鍔 -encoding UTF-8 鍙傛暟鎸囧畾缂栫爜鏍煎紡銆
淇鏀规簮浠g爜锛氬傛灉浠ヤ笂鏂规硶閮芥棤娉曡В鍐抽棶棰橈紝鍙浠ュ皾璇曚慨鏀规簮浠g爜銆傚皢 ???h??? 鏇挎崲涓轰腑鏂囧瓧绗﹀嵆鍙銆
4. java判断字符串中是否含有中文
publicstaticvoidmain(Stringargs[])throwsException{
Strings="123aaa的";
char[]t=s.toCharArray();
for(chara:t){
//判断是否为汉字字符
if(Character.toString(a).matches("[\u4E00-\u9FA5]+")){
System.out.print("字符串含有汉字");
break;
}
}
}
用正则表达式验证, 取出每个字符,正则表达式比较汉字.
5. java中如何复制文件,文件里面包含中文java中如何把文件在控制台上显示,文件中包含中文。
public static void main(String[] args) {
try {
File("D:\数字化烧结/qm截图.jpg", "d:/testfile.out");
System.out.println(readFileText("D:/jslib/test.html"));
} catch (IOException e) {
e.printStackTrace();
}
}
public static void File(String src, String tar) throws IOException {
FileOutputStream fo = new FileOutputStream(tar);
FileInputStream fi = new FileInputStream(src);
byte[] srcBytes = new byte[fi.available()];
fi.read(srcBytes);
fi.close();
fo.write(srcBytes);
fo.close();
}
public static String readFileText(String src) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(src));
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append(" ");
}
br.close();
return sb.toString();
}
File可以根据源路径和目标路径复制文件,无论什么样子的文件,有什么内容都适用。
readFileText可以读取目标文本文件,注意是文本文件,因为使用了字符流。你提问里都说带中文,我想应该就是读文本文件吧。(不一定是.txt,只要文件内容是字符)
6. 求java一个正规表达式,只包含中文、数字、空格、冒号
只包含中文、数字、空格、冒号的Java正则表达式如下
^[\u4e00-\u9fa5 0-9:]+$
我给你个Java语言匹配只包含中文、数字、空格、冒号的程序,你看看吧.
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassCC{
publicstaticvoidmain(String[]args){
Strings="你好晚上好:2016";
Stringregex="^[\u4e00-\u9fa50-9:]+$";
Patternp=Pattern.compile(regex);
Matcherm=p.matcher(s);
if(m.matches()){
System.out.println("匹配");
}else{
System.out.println("不匹配");
}
}
}
运行结果
匹配
7. java中获取含中文的字符串长度
逐个char取,判断ascii值范围,ASCII算一个、如果是非ASCII范围认为是中文则算2个
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~