2014-10-11 194 views
-1

我有字符串变量,我想获取括号内的单词。然后,我想将括号内的单词存储到另一个变量中。最后,我想从括号内的单词中释放第一个字符串变量。如何获取字符串中的括号内的字(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]"; 

我怎么能这样做?

+3

什么你尝试了吗? – RST 2014-10-11 08:27:47

回答

1

你可以这样说:

Matcher m = Pattern.compile("(.+)(\\[.+\\])").matcher(a); 
if (m.matches()) 
{ 
    String b = m.group(1), c = m.group(2); 
    // do something 
} 
-1

使用以下

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] 
0

根据空格,然后由刚拆分输入字符串打开方括号。

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] 
-1

试试这个

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] 
相关问题