Der Code ist sehr praktisch, hier gibt es keinen Unsinn, präsentieren Sie ihn einfach
Die Hauptfunktion besteht darin, festzustellen, ob eine Zeichenfolge chinesische Zeichen enthält, und diese durch ASCLL zu ersetzen
private static String regEx = "[//u4e00-//u9fa5]"; /** * Bestimmen Sie, ob die Zeichenfolge chinesische Zeichen enthält, und ersetzen Sie diese durch ASCLL * * @param str_para * @return str_result */ private static String isChinese_Replace( String str_para ) { Pattern p = Pattern.compile( regEx ); String str_result = str_para; String str_1 = ""; String str_data[] = null; String str_return_reslut = ""; if ( str_result != null && str_result.trim() > 0 ) { try { str_data = str_result.split( "" ); for ( int i = 0; i < str_data.length; i++ ) { Matcher m = p.matcher( str_data[i] ); /* Ld(str_data[i]); */ int count = 0; if ( m.find() ) { count++; getBytes( "GBK" ); str_0 = Integer.toHexString( b[0] ); ); str_return_reslut = str_return_reslut + "/" + conver10( str_1 ) + "/"; } else { str_return_reslut = str_return_reslut + str_data[i]; } } } Catch ( NumberFormatException e ) { e.printStackTrace() ; } Catch ( UnsupportedEncodingException e ) { e.printStackTrace(); } else { return(str_return_reslut); } /* String-Konvertierung in Dezimalzahl*/ public static int conver10( String str_0 ) { return(Integer.parseInt( str_0.substring ( str_0.length() - 2, str_0.length() , 16 ) }
Werfen wir einen Blick auf einen etwas einfacheren Code, der an Orten verwendet werden kann, an denen die Nachfrage nicht hoch ist.
import java.util.regex.Matcher;import java.util.regex.Pattern;public class demo {static String regEx = "[/u4e00-/u9fa5]";static Pattern pat = Pattern.compile(regEx);public static void main(String[] args) {String input = "Hell world!";System.out.println(isContainsChinese(input));input = "hello world";System.out.println(isContainsChinese(input));} public static boolean isContainsChinese(String str){Matcher matcher = pat.matcher(str);boolean flg = false;if (matcher.find()) {flg = true;}return flg;}
Abschließend fügen wir den Bereich der Unicode-Kodierungen für verschiedene Zeichen bei:
* Chinesische Schriftzeichen: [0x4e00,0x9fa5] (oder dezimal [19968,40869])
* Zahl: [0x30,0x39] (oder dezimal [48, 57])
*Kleinbuchstaben: [0x61,0x7a] (oder Dezimalzahl [97, 122])
* Großbuchstaben: [0x41,0x5a] (oder Dezimalzahl [65, 90])