2014-10-10 256 views
-4

这个问题是非常简单的如何用Java分割字符串用双引号

如何分割字符串在Java双引号?

比如我有串在“2014-09做这个-16 05:40:00.0",分开后,我要像

 Do this at 
     2014-09-16 05:40:00.0, 

任何帮助字符串如何实现这一目标?

+4

_你试过什么吗?_ – 2014-10-10 07:36:17

回答

6

这样你可以逃避内部的双引号。

String str = "Do this at \"2014-09-16 05:40:00.0\""; 
    String []splitterString=str.split("\""); 
    for (String s : splitterString) { 
     System.out.println(s); 
    } 

输出

Do this at 
2014-09-16 05:40:00.0 
0

使用方法String.split() 它返回一个由您指定的字符分割的字符串数组。

0
public static void main(String[] args) { 

     String test = "Do this at \"2014-09-16 05:40:00.0\""; 

     String parts[] = test.split("\""); 
     String part0 = parts[0]; 
     String part1 = parts[1]; 
     System.out.println(part0); 
     System.out.println(part1); 

    } 

输出

Do this at 
2014-09-16 05:40:00.0 
0

尝试此代码。也许它可以帮助

String str = "\"2014-09-16 05:40:00.0\""; 
String[] splitted = str.split("\""); 
System.out.println(splitted[1]); 
0

到目前为止提供的解决方案只是根据字符串中任何出现的双引号将字符串拆分。我提供了一个更高级的基于正则表达式的解决方案,其将仅在第一个双引号是先于双引号包含字符的字符串:

String[] splitStrings = 
    "Do this at \"2014-09-16 05:40:00.0\"".split("(?=\"[^\"].*\")"); 

这个电话后,split[0]包含"Do this at "split[1]包含"\"2014-09-16 05:40:00.0\""。我知道你不想在第二个字符串附近引用引号,但他们很容易使用substring删除。

相关问题