Ниже приведен формат. Есть строки такого вида:
0.0-2.013896591961E-04-1.136868377216E-12 (3 числа)
6.356909871101E-04-2.046363078989E-12 (2 числа)
Как из них можно считать число? Есть ли какой-то встроенный метод java, который парсит такие строки? Или только вручную это можно сделать с помощью, например, регулярных выражений?
Можно использовать для захвата просто регулярное выражение, например такое \-?\d+(?:\.\d+(?:E[\-\+]\d{2})?)?, вот можно проверить его онлайн. Просто проитерировать по множественному захвату этой регуляркой.
Вот полный код на Java, также можно запустить онлайн:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String s = "0.0-2.013896591961E-04-1.136868377216E-12 12 22 44";
Pattern pattern = Pattern.compile("\\-?\\d+(?:\\.\\d+(?:E[\\-\\+]\\d{2})?)?");
Matcher matcher = pattern.matcher(s);
while (matcher.find()) {
String group = matcher.group();
System.out.println(group);
}
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости