我有一个数据库查询,它返回列中的一些字符串数据。我想根据数据中是否存在特定字符串来修剪此字段?
如果字符串包含逗号“,”,我希望返回第一个逗号的左侧 如果字符串包含连字符“-”,我想返回第一个连字符的左侧 如果字符串两者都不包含,我想返回字符串的前 14 个字符?
我现在正朝这个方向前进:
StringHandling.LEFT(row1.DESCRIPTION,StringHandling.INDEX(row1.DESCRIPTION,"-"))
如何包含一些逻辑来检查逗号或缺少逗号并在表达式中返回适当的子字符串?
非常感谢!
最佳答案
另一种选择(我偷了 Bohemian 的 Math.min() 技术;-)):
public String dbString(String s){
String[] parts = s.split("(,|-)");
String trimmed = parts.length > 1? parts[0] : parts[0].substring(0, Math.min(14, parts[0].length());
return trimmed;
}
关于java - 根据字符串值修剪java字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6622899/