2016-02-27 114 views
1

我正在处理一个任务来解析一个黄瓜要素字符串,我需要将字符串拆分为5,如下所示。使用正则表达式将字符串拆分为多个字符串

String data = "calls 'create' using 'POST' on some uri"; 

我的基本分割功能的多个次(无任何正则表达式,这是非常繁琐的)执行以产生所述数据转换成如下。

String dataArray[] = {"calls '","create","' using '","POST", "' on some uri"}; 

我想获得的dataArray[1]dataArray[3]名称。有没有办法使用正则表达式和分割或其他一些简单的方法来生成上面的dataArray

+1

那么为什么''调用'“'是一个令牌,但'”创建'“不是? – anubhava

回答

1

只需使用呢?

String dataArray[] = data.split("'"); 
-> 
[calls , create, using , POST, on some uri] 
1

这里是一个使用正则表达式的解决方案:

public static void main (String[] args) { 
    String data = "calls 'create' using 'POST' on some uri"; 
    String[] dataArray = new String[2]; 
    Matcher matcher = Pattern.compile("'[a-zA-Z]+'").matcher(data); 
    int counter = 0; 
    while (matcher.find()) { 
    String result = matcher.group(0); 
    dataArray[counter++] = result.substring(1, result.length() - 1); 
    } 
} 

输出:

dataArray[0] --> create 
dataArray[1] --> POST 
相关问题