fork download
  1. import java.text.ParsePosition;
  2. import java.time.LocalDateTime;
  3. import java.time.format.DateTimeFormatter;
  4. import java.util.Locale;
  5. import java.util.regex.Matcher;
  6. import java.util.regex.Pattern;
  7. import java.util.stream.Stream;
  8.  
  9. public class Main {
  10. public static void main(String[] args) {
  11. // Test
  12. Stream.of(
  13. "9/14/2021 6:01:14 PM 42 (3224) Receive rate: 39338 B/s",
  14. "9/14/2021 6:01:29 PM 92 (940) Receive rate: 215363 B/s"
  15. )
  16. .forEach(s -> System.out.printf(
  17. "Timestamp: %s, Receive rate: %s%n",
  18. getTimestampPart(s),
  19. getReceiveRate(s)
  20. ));
  21. }
  22.  
  23. static String getTimestampPart(String str) {
  24. DateTimeFormatter dtf = DateTimeFormatter.ofPattern("M/d/uuuu h:mm:ss a", Locale.ENGLISH);
  25. return LocalDateTime.from(dtf.parse(str, new ParsePosition(0))).format(dtf);
  26. }
  27.  
  28. static String getReceiveRate(String str) {
  29. Matcher matcher = Pattern.compile("(?<=(?:Receive rate: ))\\d+(?=(?: B\\/s))").matcher(str);
  30. return matcher.find() ? matcher.group() : "";
  31. }
  32. }
Success #stdin #stdout 0.11s 54576KB
stdin
Standard input is empty
stdout
Timestamp: 9/14/2021 6:01:14 PM, Receive rate: 39338
Timestamp: 9/14/2021 6:01:29 PM, Receive rate: 215363