如何在java中使用正则表达式从带引号的字符串中提取文本?

Tap*_*nha 0 java regex csv

我有一个这样的字符串:

"0008934","1801 W NORMATOWN ROAD","ROMEOVILLE","IL","US","60446","8158866981","Y"
Run Code Online (Sandbox Code Playgroud)

我想提取双引号内的所有值。你能帮我完成任务吗?

这就是我所期待的:

0008934
1801 W NORMATOWN ROAD
ROMEOVILLE
IL
US
60446
8158866981
Y
Run Code Online (Sandbox Code Playgroud)

任何人都可以请你帮助我吗?

Sar*_*van 5

你可以这样做:

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

public class RegexTest {

    public static void main(String[] args) {
        String strInput = "\"0008934\",\"1801 W NORMATOWN ROAD\",\"ROMEOVILLE\",\"IL\",\"US\",\"60446\",\"8158866981\",\"Y\"";
        Pattern pattern = Pattern.compile("\"([^\"]*)\"");
        Matcher matcher = pattern.matcher(strInput);
        while (matcher.find()) {
            System.out.println(matcher.group(1));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

0008934
1801 W NORMATOWN ROAD
ROMEOVILLE
IL
US
60446
8158866981
Y
Run Code Online (Sandbox Code Playgroud)