【问题标题】:Locale specific lowercase/uppercase string manipulation in JavaScriptJavaScript 中特定于语言环境的小写/大写字符串操作
【发布时间】:2011-08-25 07:31:42
【问题描述】:

我们如何在 JavaScript 中处理特定于语言环境的字符串/字符的大写和小写操作? 例如,Java 提供 java.lang.Character 类用于特定于语言环境的操作,其中一些方法如下:

  • toUpperCase(char ch) --> 将 unicode 字符转换为大写

  • toLowerCase(char ch) --> 将 unicode 字符转换为小写

    (自动处理特定语言的大写/小写)

同样,

  • isUpperCase(char ch)
  • isLowerCase(char ch)

也有。

编码示例如下:

    /*This is a greek character*/
    ch='\u03B4';
    System.out.println(ch);
    System.out.println("Is Character = "+ Character.isLetter(ch));
    System.out.println("Is Digit = " + Character.isDigit(ch));
    System.out.println("Upper case = " + Character.toUpperCase(ch));
    System.out.println();

它的输出如下:

    δ
    Is Character = true
    Is Digit = false
    Upper case = Δ

看,大写字符与小写字符完全不同。现在,如果我们想要 JavaScript 中的这个功能,我们有什么办法吗?

谢谢你的期待

【问题讨论】:

  • 什么意思? 'δ'.toUpperCase() === 'Δ'.
  • 这并不是真正的特定于语言环境的大小写操作。与 "i".toUpperCase() 相比,这是微不足道的,在大多数语言中通常会导致 "I",除了土耳其语,正确的结果应该是点大写 I:"İ"

标签: javascript jquery string locale uppercase


【解决方案1】:

嗯,以下工作就像 javascript 中的魅力一样(在 Firefox 6 的 Firebug 控制台中测试):

ch='\u03B4'; // δ
ch_up = ch.toUpperCase() //ch_up is now: "Δ"
ch_down = ch_up.toLowerCase() // ch_down is now "δ"

【讨论】:

  • 与此同时,我自己发现 toUpperCase() 和 toLowerCase() 基本上都是 UNICODE AWARE。
猜你喜欢
  • 1970-01-01
  • 2015-11-08
  • 1970-01-01
  • 2011-09-25
  • 2010-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多