Java和SQL实现取两个字符间的值

 更新时间:2021年06月08日 11:06:23   作者:陈晨辰~  
这篇文章主要介绍了Java和SQL实现取两个字符间的值操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Java

String str = "abcdefg";
String result = str.substring(str.indexOf(">")+1, str.lastIndexOf("<"));
StringUtils.substringBefore(“abcdec”, “c”); 

结果是:ab 这里是以第一个”c”为标准。

StringUtils.substringBeforeLast(“abcdec”, “c”) 

结果为:abcde这里是以倒数第一个”c”为标准。

SQL

对“*”及以前的字符进行截取

在sql中可以使用下边函数进行截取特殊字符:

substr(str,instr(str,'*',1)+1)

其中,使用了substr函数和instr函数。

1、substr(string,start_position,[length])求子字符串,返回字符串

第一个参数表示要截取的字符串,第二个表示起始位置,第三个表示截取的长度,可省略。

2、instr(string,subString,position,ocurrence) 查找字符串的位置

第一个参数表示源字符串,第二个是要查找的字符,第三个是要查找的开始位置,第四个是查找的字符是第几个。

取一个字段中两个字符之间信息

1、如下

substring(a.specifications,charindex(':',a.specifications,charindex(';',specifications))+1,1)

SQL报错

FUNCTION db.charindex does not exist

2、使用substring_index语法

用法规则:

substring_index(“待截取有用部分的字符串”,“截取数据依据的字符”,截取字符的位置N)

具体要截取第N个逗号前部分的字符,在字符串中以逗号为索引,获取不同索引位的字符。

N可以为负数,表示倒数第N个索引字符后面的字符串。(有负号的时候,可以将整个字符倒过来看,依旧是第N个字符前面的部分。)

具体例子:

首先假定需要截取的字符串为“192;168;8;203”,这里截取的依据是分号:“;”

结果如下:

取第一个逗号前的字符串 :

SELECT SUBSTRING_INDEX(‘192;168;8;203',';',1);
==>得到结果为: 192

取最后逗号后面的部分:

SELECT SUBSTRING_INDEX(‘192;168;8,203',';',-1);
==>得到结果为: 203

取第2个逗号前那部分字符串里,最后逗号后面的部分

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(‘192;168;8;203',';',2),';',-1);
==>得到结果为: 168

取倒数第二个逗号后面部分字符串,再去这部分里第一个都号前的部分:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(‘192;168;8,203',';',-2),';',1);
==> 得到结果为:8

java 两个字符串取交集

两个字符串取交集

public static void checkCommom(String str1, String str2) {        
HashSet<String> result = new HashSet<String>();
        int length1 = str1.length();
        int length2 = str2.length();
        for (int i = 0; i < length1; i++) {
            for (int j = 0; j < length2; j++) {
                String char1 = str1.charAt(i) + "";
                String char2 = str2.charAt(j) + "";
                if (char1.equals(char2))
                {
                    result.add(char1);
                }
            }
        }
        
        Iterator<String> it = result.iterator();
        while (it.hasNext()) {
            String value = it.next();
            System.out.print(value);
        }
    }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring中实现策略模式的几种方式小结

    Spring中实现策略模式的几种方式小结

    在写业务代码的时候,难免会遇到很多if-else,这个时候如果if-else不是很多可以用if-else,如果此时场景过多,太多的if-else会导致代码比较臃肿,这个时候策略模式就出现了,本文主要阐述工作中常用的实现策略模式的几种方式,需要的朋友可以参考下
    2024-05-05
  • Java1.8中StringJoiner的使用及源码详析

    Java1.8中StringJoiner的使用及源码详析

    在看String类时,看到有使用StringJoiner类,所以顺便看了下StringJoiner类,下面这篇文章主要给大家介绍了关于Java 1.8中StringJoiner的使用及源码分析的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧
    2018-08-08
  • springboot配置文件中属性变量引用方式@@解读

    springboot配置文件中属性变量引用方式@@解读

    这篇文章主要介绍了springboot配置文件中属性变量引用方式@@解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • 深入解析Java中volatile关键字的作用

    深入解析Java中volatile关键字的作用

    Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制
    2013-09-09
  • 如何在Intellij中安装LeetCode刷题插件方便Java刷题

    如何在Intellij中安装LeetCode刷题插件方便Java刷题

    这篇文章主要介绍了如何在Intellij中安装LeetCode刷题插件方便Java刷题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Java三种IO模型原理实例详解

    Java三种IO模型原理实例详解

    这篇文章主要介绍了Java三种IO模型原理实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 如何基于ssm框架实现springmvc拦截器

    如何基于ssm框架实现springmvc拦截器

    这篇文章主要介绍了如何基于ssm框架实现springmvc拦截器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Java Socket模拟实现聊天室

    Java Socket模拟实现聊天室

    这篇文章主要为大家详细介绍了Java Socket模拟实现聊天室,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Mybatis Plus Wrapper查询某几列的方法实现

    Mybatis Plus Wrapper查询某几列的方法实现

    MybatisPlus中,使用Wrapper的select和notSelect方法可以精确控制查询的字段,本文就来介绍一下Mybatis Plus Wrapper查询某几列的方法实现,感兴趣的可以了解一下
    2024-10-10
  • Java中的Web MVC简介_动力节点Java学院整理

    Java中的Web MVC简介_动力节点Java学院整理

    MVC模型是一种架构型的模式,本身不引入新功能,只是帮助我们将开发的结构组织的更加合理,使展示与模型分离、流程控制逻辑、业务逻辑调用与展示逻辑分离
    2017-09-09

最新评论