Задать вопрос
@steve_fahrenheit
Student, a little programmer

Как вытащить символы кроме запятой и цифр в Java?

Здравствуйте, помогите пожалуйста

Как мне вытащить символы кроме запятой и цифр в Java?
*в android studio

Допустим у меня есть:
100 ₽
$4,99
9,99 €
100 CA$
9,49 USD

Необходимо, чтобы и буквы тоже были

Как мне из них (не всех сразу) вытащить их знаки валют (у канадского доллара вместе с CA)
Я понимаю, мне нужно отфильтровать как то, чтобы отобралось всё, кроме цифр и запятых

Подскажите пожалуйста как сделать :) Спасибо :)
  • Вопрос задан
  • 244 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
public class Main {

    public static void main(String[] args) {

        String a = "100 ₽";
        String b = "$4,99";
        String c = "9,99 €";
        String d = "100 CA$";

        // Паттерн
        String regex = "\\p{Sc}";
        Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);

        // передали переменную a, b, c или d в метод matcher()
        Matcher matcher = pattern.matcher(a);

        while (matcher.find()) {
            // Выведет ₽, $, €, $
            System.out.println(matcher.group());
        }

    }

}

https://howtodoinjava.com/regex/java-regex-match-a...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Billy_Milligan
var prices = new String[] {
    "100 ₽",
    "$4,99",
    "9,99 €",
    "100 CA$",
    "9,49 USD"
};

//Паттерн
final var pattern = "[\\d\\s.,]+";

var resultSet = Arrays.stream(prices)
        .map(price -> price.replaceFirst(pattern, ""))//Вырезаем все совпадения
        .collect(Collectors.toSet());//собираем в Set

resultSet.forEach(System.out::println);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы