>Java >java지도 시간 >정규식은 어떻게 문자열에서 숫자를 추출하고 이를 정수 배열로 저장할 수 있습니까?

정규식은 어떻게 문자열에서 숫자를 추출하고 이를 정수 배열로 저장할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-08 14:08:11714검색

How Can Regular Expressions Extract Numbers from a String and Store Them as an Integer Array?

정규 표현식을 사용하여 문자열에서 숫자 추출

문제:

두 가지를 모두 포함하는 문자열이 주어졌습니다. 텍스트와 숫자, 어떻게 이러한 숫자를 추출하여 배열에 저장할 수 있습니까? 정수?

정규 표현식을 사용한 솔루션:

정규 표현식(regex)은 문자열에서 특정 패턴을 일치시키고 추출하는 간결하고 효율적인 방법으로 사용될 수 있습니다. 정규식을 사용하여 이 문제를 해결할 수 있는 방법은 다음과 같습니다.

import java.util.regex.Pattern;
import java.util.regex.Matcher;
import java.util.LinkedList;

String line = "There are more than -2 and less than 12 numbers here";

Pattern p = Pattern.compile("-?\d+");
Matcher m = p.matcher(line);

LinkedList<String> numbers = new LinkedList<>();
while (m.find()) {
  numbers.add(m.group());
}

// Convert the extracted strings to integers
int[] intArray = new int[numbers.size()];
for (int i = 0; i < numbers.size(); i++) {
  intArray[i] = Integer.parseInt(numbers.get(i));
}

System.out.println(intArray);

이 솔루션에서는

  • 선택적 음수가 앞에 오는 숫자와 일치하는 정규식 패턴 -?d를 컴파일합니다. 기호(-).
  • Matcher 개체를 사용하여 이 패턴이 나타나는 모든 항목을 찾습니다. string.
  • 일치하는 숫자를 문자열 연결 목록에 저장합니다.
  • 마지막으로 추출된 문자열을 정수로 변환하여 정수 배열에 저장합니다.

이 접근 방식은 임의의 길이와 복잡한 문자열에서 숫자를 추출하기 위한 깨끗하고 재사용 가능한 솔루션을 제공합니다.

위 내용은 정규식은 어떻게 문자열에서 숫자를 추출하고 이를 정수 배열로 저장할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.