Java 如何将大写字符串转换为驼峰大小写,并保持首字母缩略词的原样?
我正在处理H2DB,并尝试创建一个Java函数,将大写字符串转换为数据集的Camelcase。虽然我在JAVA方面相对来说是个新手,但经过一些研究,我终于找到了下面的解决方案Java 如何将大写字符串转换为驼峰大小写,并保持首字母缩略词的原样?,java,string,h2,camelcasing,Java,String,H2,Camelcasing,我正在处理H2DB,并尝试创建一个Java函数,将大写字符串转换为数据集的Camelcase。虽然我在JAVA方面相对来说是个新手,但经过一些研究,我终于找到了下面的解决方案 DROP ALIAS toCamelCase if exists; CREATE ALIAS toCamelCase AS $$ String toCamelCase(String s) { String[] parts = s.split("\\s+"); String camelCaseString =
DROP ALIAS toCamelCase if exists;
CREATE ALIAS toCamelCase AS $$
String toCamelCase(String s)
{
String[] parts = s.split("\\s+");
String camelCaseString = "";
for (String part : parts)
{
if(part != null && part.trim() != "")
{
camelCaseString = camelCaseString + part.substring(0, 1).toUpperCase() + part.substring(1).toLowerCase() + " ";
}
}
return camelCaseString;
} $$;
现在这确实解决了我95%的问题,但问题是数据集中有些元素是首字母缩略词或缩写形式,例如:F.T.E或TBB,由于此代码,这些元素被转换为F.T.E或TBB。我是否可以获得相同的结果,但这次我正在处理的数据字符串的首字母缩略词或缩写形式保持其原始形式
谢谢你的帮助 如果要防止更改首字母缩写,请创建一个单独的.txt文件,其中包含已知首字母缩写的列表。然后,您只需执行以下操作即可防止其被更改:
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null){
if (part == line)
break;
else
camelCaseString = camelCaseString + part.substring(0, 1).toUpperCase() + part.substring(1).toLowerCase() + " ";
}
}
将其替换为for each循环的内容
请记住将“file”设置为包含.txt文件的文件对象
没有一些首字母缩略词词典是不可能的。即使这样,也很难识别一个碰巧也是首字母缩略词的单词。我同意!我曾想过创建这样的首字母缩略词的查找,但这需要大量的手工工作。