如何获取字符串中的括号内的字(java)
问题描述:
我有字符串变量,我想获取括号内的单词。然后,我想将括号内的单词存储到另一个变量中。最后,我想从括号内的单词中释放第一个字符串变量。如何获取字符串中的括号内的字(java)
下面是一个例子:
String a = "nemenin yang ngebet sangat ingin belanja [Mon Sep 22 13:46:19 ICT 2014]";
我想要的输出变成了这个样子:
String b = "nemenin yang ngebet sangat ingin belanja";
String c = "[Mon Sep 22 13:46:19 ICT 2014]";
我怎么能这样做?
答
你可以这样说:
Matcher m = Pattern.compile("(.+)(\\[.+\\])").matcher(a);
if (m.matches())
{
String b = m.group(1), c = m.group(2);
// do something
}
答
使用以下
String a = "nemenin yang ngebet sangat ingin belanja [Mon Sep 22 13:46:19 ICT 2014]";
String tok[]=a.split(" \\[");
for(String test:tok){
System.out.println(test);
}
输出:
nemenin yang ngebet sangat ingin belanja
Mon Sep 22 13:46:19 ICT 2014]
答
根据空格,然后由刚拆分输入字符串打开方括号。
String a = "nemenin yang ngebet sangat ingin belanja [Mon Sep 22 13:46:19 ICT 2014]";
String tok[]= a.split("\\s+(?=\\[)");
String b = tok[0];
String c = tok[1];
System.out.println(b);
System.out.println(c);
输出:
nemenin yang ngebet sangat ingin belanja
[Mon Sep 22 13:46:19 ICT 2014]
答
试试这个
public static void main(String[] args) {
String str = "nemenin yang ngebet sangat ingin belanja [Mon Sep 22 13:46:19 ICT 2014]";
String strBeforeBracket = str.substring(0, str.lastIndexOf("[") - 1);
String strInBracket = str.substring(str.lastIndexOf("["),
str.lastIndexOf("]") + 1);
System.out.println("String outside bracket : " + strBeforeBracket);
System.out.println("String in bracket : " + strInBracket);
}
输出:
String outside bracket : nemenin yang ngebet sangat ingin belanja
String in bracket : [Mon Sep 22 13:46:19 ICT 2014]
什么你尝试了吗? – RST 2014-10-11 08:27:47