在 Java 中,如何在保留一些常见缩写的同时对字符串进行标题大小写
-
11-09-2019 - |
题
有很多方法可以 java 中的标题大小写.
但是如何防止一些常见缩写被转换呢?例如;
System.out.println(makeProper("JAMES A SWEET");
System.out.println(makeProper("123 MAIN ST SW");
James A Sweet
123 Main St Sw
SW 应保持大写,因为它是 South West 的缩写。
解决方案
您需要某种形式的字典,它包含不应该大写单词。你可以使用一个HashSet
了点。沿着这些线的东西:
Set<String> whiteList = new HashSet<String>();
whiteList.add("SW");
whiteList.add("NW");
// ...
for (String word : phrase.split()) {
if (!whiteList.contains(word)) {
makeProper(word);
}
}
其他提示
有是做这样的事情的标准方法。
您可以拿出你自己的方法和一组你不想缩写的“修正”,并排除转型确实
Apache Commons-lang 包含 WordUtils.capitalizeFully,我用它来毫无问题地大写字符串。希望它可以节省您的时间。
不隶属于 StackOverflow