Как отфильтровать части строки из массива - PullRequest
0 голосов
/ 04 мая 2020

У меня есть ArrayList<String> listWithoutDuplicates, в котором хранятся такие элементы:

[java.security.AlgorithmParameters.getInstance( alg);, java.security.AlgorithmParameters.getInstance( alg _);, java.security.AlgorithmParameters.init( params);, java.security.AlgorithmParameters.init( parAr);, java.security.AlgorithmParameters.init( parAr _);, parsRes = java.security.AlgorithmParameters.getEncoded();, parsRes = java.security.AlgorithmParameters.getEncoded( format);]

Я пытаюсь извлечь следующий вывод и сохранить его в другом List:

getInstance( alg) 
getInstance( alg _)
init( params)
init( parAr)
init( parAr _)
getEncoded()
getEncoded( format)

Я пытался использовать замену . на ,, и теперь я пытаюсь получить каждую часть, которая раньше ;.

String sat = listWithoutDuplicates.toString().replace(".", ",");
List<String> answer = Arrays.asList(sat.split(";")); 

Может кто-нибудь, пожалуйста, помогите мне с этим. С наилучшими пожеланиями.

1 Ответ

0 голосов
/ 04 мая 2020

str.replaceAll("(.*);", "$1"); 

должен получить вам все до; (обратите внимание, что это одна строка, а не каждая строка в массиве)

Это использует свойство группировки регулярного выражения (регулярное выражение). Если вы не знаете регулярных выражений, то я НАСТОЯТЕЛЬНО рекомендую вам go прочитать некоторые учебные пособия и попробовать их. (примечание: большинство разных реализаций немного отличаются, поэтому вам придется изучить принципы, лежащие в его основе, а затем изучить «синтаксический сахар» каждой реализации (какой язык / фреймворк), как вы go.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...