java - 根据字符串值修剪java字符串?

标签 java if-statement string-formatting indexof

我有一个数据库查询,它返回列中的一些字符串数据。我想根据数据中是否存在特定字符串来修剪此字段?

如果字符串包含逗号“,”,我希望返回第一个逗号的左侧 如果字符串包含连字符“-”,我想返回第一个连字符的左侧 如果字符串两者都不包含,我想返回字符串的前 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/

相关文章:

Python IF 多个 "and" "or"在一条语句中

java - "%1$#"在 String.format (Java) 中使用时是什么意思?

java - 将值从 jtable 发送到 sql 时出现 SQL 异常

java - 将布局渲染的输出设置为变量(条纹)

java - 转换日期格式不起作用

javascript - 'if...else'没有检查任何其他条件,直接跳到最后一个 'else'语句

python - 如何使用条件语句创建包含计算值的新列

javascript - 有没有人知道格式化 "abbreviated"数字的好 JavaScript 片段?

c# - 使用 ReactiveUI 绑定(bind) TextBox 并保持货币格式

java - 如何创建正则表达式以删除字符串开头的所有 `"0"`?