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

  • funbro1

    funbro1

    11 Aralık 2007
  • SelmerSaxMan

    SelmerSaxMan

    24 HAZİRAN 2006
  • Crossover

    Crossover

    18 HAZİRAN 2007