java中使用正则表达式获取字符串数组中含有字符[ ]的字符串,将得到的内容用字符串term表示

如题所述



import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class JButtonTest
{
public static void main ( String[] args )
{
String input = "abc[1]dd[a-b]df[3.b]";
String regex = "\\[[^\\[\\]]*\\]";
Pattern pattern = Pattern.compile (regex);
Matcher matcher = pattern.matcher (input);
while (matcher.find ())
{
System.out.println (matcher.group ());
}
}
}

追问

谢谢,可是这个得到的是[]里面的内容,我想得到的是,如果这个字符串中包含[],则将汉字提出来,如:

我想要得到的是

安全

安全管理

安全监测

追答

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class JButtonTest
{
public static void main ( String[] args )
{
String input = "安全*[5.1]sdfs安全管理[5.6.1]";
String regex = "([\u4e00-\u9fff]+)[^\\[\\]]*\\[[^\\[\\]]*\\]";
Pattern pattern = Pattern.compile (regex);
Matcher matcher = pattern.matcher (input);
while (matcher.find ())
{
System.out.println (matcher.group (1));
}

input = "安全*[5.1]";
System.out.println (input.replaceAll (regex, "$1"));
}
}

追问

恩恩,灰常谢谢!得到我想要的了,还想请问一下,我现在想换成以空行为单元读到一个数组块中该怎么写啊

results = Terms.split(" ");   //  这一部分???

Term = results[0];  // Term=安全  

for (int i = 1; i < size; i++)  //size=7{if((results[i]).charAt(0) =='F' ) }

追答

干脆你发过来、我帮你写

追问

太感谢了,这是我自己写的全部读到WordList[i]数组中的方法

不知道怎么传附件,表.txt是

温馨提示:内容为网友见解,仅供参考
无其他回答

java中使用正则表达式获取字符串数组中含有字符[ ]的字符串,将得到的内...
import java.util.regex.Matcher;import java.util.regex.Pattern;public class JButtonTest{public static void main ( String[] args ){String input = "abc[1]dd[a-b]df[3.b]";String regex = "\\\\[[^\\\\[\\\\]]*\\\\]";Pattern pattern = Pattern.compile (regex);Matcher matcher = pat...

java正则表达式截取字符串
import java.util.regex.Matcher;import java.util.regex.Pattern;public class Hello { public static void main(String[] args) { String re = "\\\\[([^\\\\]]+)\\\\]";String str = "[您好],abcdefg,[abc]"; Pattern p = Pattern.compile(re);Matcher m = p.matcher(str); ...

JAVA正则表达式解析HTML字符串
1.首先提取<R_Data> 之间的内容. 我觉得不需要用 正则.int start= str.indexOf(">",0);\/\/返回 字符串 <R_Date> ">" 的索引 其中str 是整个字符串 int end =str.indexOf("<",start); \/\/返回 <\/R_Data> 中"<" 的索引.String s=subString(str,start,end); 这样就可...

java正则表达式中括号[]数组字符串分割
str.replace("]","");\/\/删除右中括号 String[] arr = str.split(",");\/\/按','号分割字符串 \/\/转为double型 double[] dArr = new double[arr.length];for(int i=0;i<arr.length;i++){ dArr[i] = Double.parseDouble(arr[i]);} ...

java中怎么判断一个字符串数组中包含某个字符或字符串
public static boolean isHave(String[] strs,String s){ \/*此方法有两个参数,第一个是要查找的字符串数组,第二个是要查找的字符或字符串 \/ for(int i=0;i<strs.length;i++){ if(strs[i].indexOf(s)!=-1){\/\/循环查找字符串数组中的每个字符串中是否包含所有查找的内容 return true...

java中怎样将把字母和数字组成的字符串才分开
String regex2 = "\\\\d";String zimu = str.replaceAll(regex2, "");System.out.println(zimu);还可以自己写一个方法,把字符串转成字符数组,使用for循环逐个去比较,如下:String str = "lasdowuro345uj4vj5mb6mvvgk45b5knl";char[] ch = str.toCharArray();StringBuilder sb1 = new ...

用java 正则表达式 计算一个字符串中某个子串的个数
String [] ary = ("," + str + ",").split("abc");System.out.println("ABC的个数 : " + (ary.length - 1));} } 我觉得用split方法,以"abc"做分隔符将字串拆分成数组,这样比较简单.不过上面的代码(第二种方法)只能判断小写"abc"的个数, 如果你还需要将"ABC"或者"aBc"或者"abC"...

如何在Java提取出字符串中的数字段(字符串中有好几段数字)?
public static void main(String args[]) throws Exception { Pattern p = Pattern.compile("\\\\d{2,}");\/\/这个2是指连续数字的最少个数 String u = "abc435345defsfsaf564565fsabad5467755fewfadfgea"; Matcher m = p.matcher(u); int i = 0; while (m.find()) { ...

java中怎么判断一个字符串中包含某个字符或字符串
String 型的字符串一旦确定就无法对其进行改变,这个时候你可调用各个方法来实现 比如 indexOf(x):返回字符串中出现的第一个x的下标,如果没有匹配的返回-1 contains(s1):如果s1是该字符串的子串,返回true。还有很多都是String的操作,如果是字符数组,只需循环一下下标,挨个比较就好。

java怎么获取字符串中指定的值?
在Java中获取字符串中指定的值可以使用以下几种方式:点击学习大厂名师精品课1.使用substring()方法可以使用String类提供的substring(intbeginIndex,intendIndex)方法,从原始字符串中截取出指定范围的字符子串。beginIndex表示截取的起始位置,endIndex表示结束位置(不包含)。2.使用StringUtils类可以使用Apache...

相似回答