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個
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~