Окраска овального компонента, однако заливка перекрывает овальную линию. Как это исправить?

Вы можете сделать это очень легко без сложного регулярного выражения:

  1. Разделить на символ ". Вы получаете список строк
  2. Обработать каждую строку в списке: Разделить каждую строку, которая находится на четной позиции в Списке (начиная индексирование с нулем) на «,» (вы получаете список внутри списка ), оставляйте каждую нечетную позиционную строку в одиночку (прямо вставляя ее в список внутри списка).
  3. Присоединитесь к списку списков, чтобы получить только список.

Если вы хотите обрабатывать цитирование '' ', вам нужно немного адаптировать алгоритм (присоединение к некоторым частям, некорректное разделение или изменение разделения на простое регулярное выражение), но основная структура остается.

Итак, в основном это что-то вроде этого:

public class SplitTest {
    public static void main(String[] args) {
        final String splitMe="123,test,444,\"don't split, this\",more test,1";
        final String[] splitByQuote=splitMe.split("\"");
        final String[][] splitByComma=new String[splitByQuote.length][];
        for(int i=0;i<splitByQuote.length;i++) {
            String part=splitByQuote[i];
            if (i % 2 == 0){
               splitByComma[i]=part.split(",");
            }else{
                splitByComma[i]=new String[1];
                splitByComma[i][0]=part;
            }
        }
        for (String parts[] : splitByComma) {
            for (String part : parts) {
                System.out.println(part);
            }
        }
    }
}

Это будет намного чище с лямбдами, обещано!

1
задан Andrew Thompson 17 January 2019 в 02:48
поделиться