SORU
27 AĞUSTOS 2010, Cuma


Java, eğer bir Dize yalnızca ASCII olup olmadığını kontrol etmek mümkün mü?

Karakter.isLetter(c) eğer karakter bir harf ise true değerini gönderir. Ama bir şekilde eğer bir Dize yalnızca ASCII temel karakterler içeriyorsa, hızlı bir şekilde bulmak için.

CEVAP
27 AĞUSTOS 2010, Cuma


java.nio.charset.Charset ile yapabilirsiniz.

import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;

public class StringUtils {

  static CharsetEncoder asciiEncoder = 
      Charset.forName("US-ASCII").newEncoder(); // or "ISO-8859-1" for ISO Latin 1

  public static boolean isPureAscii(String v) {
    return asciiEncoder.canEncode(v);
  }

  public static void main (String args[])
    throws Exception {

     String test = "Réal";
     System.out.println(test   " isPureAscii() : "   StringUtils.isPureAscii(test));
     test = "Real";
     System.out.println(test   " isPureAscii() : "   StringUtils.isPureAscii(test));

     /*
      * output :
      *   Réal isPureAscii() : false
      *   Real isPureAscii() : true
      */
  }
}

Detect non-ASCII character in a String

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jaclyn W

    Jaclyn W

    5 Mayıs 2006
  • Kai Moosmann

    Kai Moosmann

    5 Temmuz 2006
  • pjtoohot

    pjtoohot

    15 NİSAN 2008