首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

如何判断字符串中有类似下面的子字符串

2014-01-01 
怎么判断字符串中有类似下面的子字符串?字符串格式如下:二级销售部,销售部,业务部,管理部,仓储

怎么判断字符串中有类似下面的子字符串?
字符串格式如下:

"'二级销售部','销售部','业务部','管理部','仓储部'"



我用str_workgroup.indexOf('销售部')判断字符串中是否包含'销售部',但是如果str_workgroup="'二级销售部','业务部','管理部','仓储部'"。

虽然str_workgroup不包换'销售部',但是'二级销售部'里包含《销售部》这3个字。str_workgroup.indexOf('销售部')的结果就会是1,但是实际结果应该是0(也就是不包含)

这怎么办呢?
[解决办法]
这个可以考虑判断先后顺序调整下:优先判断字符串长的关键字。
[解决办法]

引用
'二级销售部','销售部','业务部','管理部','仓储部'
既然你的字符串是这种格式的那就很方便了。直接匹配'销售部',注意有2个'引号。
[解决办法]

String matchStr = "'销售部'";
String allStr = "'二级销售部','销售部','业务部','管理部','仓储部'";
String[] list = allStr.split(",");
        for (String s: list) {
        if (s.equalsIgnoreCase(matchStr)) {
        System.out.println("存在!");
        break;
        }
        }
        
        String regex = "'销售部'";
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(allStr);
        if (m.find()) {
        System.out.println("存在!");
        }

[解决办法]
两种方法楼上都写了。
第一优先匹配条件苛刻的。
第二连引号一起匹配了。
感觉第一种更好些~万一没引号了呢。

热点排行