28

uppercase和有什么区别titlecase 坦白说,我以前从未听说titlecase过。

在java中,两者都有不同的方法:

  • Character.isTitleCase(char)
  • Character.isUpperCase(char)

一些网站将其定义如下:

TitleCase:匹配大写字母和小写字母组合的字符,例如 Nj 和 Dz

但必须有更多:该isTitleCase(char)方法只接受 1 个字符。所以 - 如果是这种情况 - 那么这个方法至少需要 2 个字符。

4

3 回答 3

23

它只接受一个Unicode字符。事实证明,DŽ实际上只有一个字符:看看它在等宽字体中的显示方式:DŽ。大写版本是Dž ,也存在小写版本dž

于 2015-08-02T10:46:04.383 回答
3

什么是标题:

  • 在某些语言和脚本中,有二合字母 - 即单个 Unicode 代码点,它是 2 个人类可读字符的组合,显示为一种组合字形。

  • 只有 digraphs 可以是 titlecase - 即“dz”的小写 digraph 对应于大写“DZ”和 titlecase“Dz”。

  • 所以,“大写”,“标题”和“小写”

它只接受一个 Unicode 字符。

不完全正确。

希腊语有很多首字母大写字形,还有比“DZ”更多的拉丁首字母大写。

要查看世界上所有的标题字符,请启动 Excel(或免费的 Power BI Desktop 应用程序),然后启动数据/获取数据/空白查询,并通过将以下 Power Query M 语言查询复制粘贴到查询/高级编辑器来执行:

let
 downloaded = Web.Contents("https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt"),
 csv = Csv.Document(downloaded,
                    [Delimiter=";",
                      Encoding=65001, // UTF-8
                      QuoteStyle=QuoteStyle.None // allow line breaks within the quoted string
                    ]),
    #"Removed Other Columns" = Table.SelectColumns(csv,{"Column1", "Column2", "Column3"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Other Columns",{{"Column1", "Character code"}, {"Column2", "Character name"}, {"Column3", "Category"}}),
    #"Added Custom" = Table.AddColumn(#"Renamed Columns", "Glyph", each Character.FromNumber(Expression.Evaluate("0x" & [Character code]))),
    #"Reordered Columns" = Table.ReorderColumns(#"Added Custom",{"Character code", "Glyph", "Character name", "Category"}),
    #"Filtered Rows" = Table.SelectRows(#"Reordered Columns", each [Category] = "Lt")
in
    #"Filtered Rows"
于 2021-10-26T08:53:20.017 回答
1

我知道之前已经回答过了,但我只是添加了一个非常快速的细分:

组合字符:

  • DŽ = 仅大写
  • dž = 仅小写
  • Dž = 仅大写字母

单个字符:

  • D = 大写和大写
  • d = 仅小写
于 2021-11-08T18:05:38.233 回答