日期:2014-05-17  浏览次数:20579 次

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

<option value="销售部" <%=str_workgroup.indexOf("销售部")>=0 ? "selected" : ""%>>销售部</option>

我如果这样判断str_workgroup是否包含'销售部',那即使str_workgroup里没有'销售部',但是'二级销售部'里也包含了'销售部'。

怎么样判断出str_workgroup里包含的是二级销售部',而不是'销售部'?


另外一个帖子里说错了,双引号里没有单引号。而且Matcher m = Pattern.compile("(?<=)销售部(?=)").matcher(str_workgroup);也不能区分"二级销售部"和“销售部”。

还有能不能一行就判断出来,否则jsp的下拉列表里有几十个option,写起来就太麻烦了。

------解决方案--------------------
	public static void main(String[] args) {
String s = "二级销售部,销售部,业务部,管理部,仓储部";
System.out.println(Pattern.matches(".*(?<=^
------解决方案--------------------
,)销售部.*", s));
}

------解决方案--------------------
引用:
	public static void main(String[] args) {
String s = "二级销售部,销售部,业务部,管理部,仓储部";
System.out.println(Pattern.matches(".*(?<=^
------解决方案--------------------
,)销售部.*", s));
}


如果 String s = "二级销售部,销售部二级,业务部,管理部,仓储部"; 这样判断就有问题了,LZ最好想想你们有没有这种可能。
如果有,那就用字符串的split方法把字符串变成数组来比较吧!