취소
다음에 대한 결과 표시 
표시  만  | 다음에 대한 검색 
다음을 의미합니까? 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
언어 선택 변환 막대 숨기기
게시된 스레드 원본 보기

문자열을 분할하여 숫자 추출

B1234
Level III

안녕 ,

문자인 문자열이 있고 4자리 숫자 섹션을 추출하고 싶습니다. 숫자의 위치는 바뀔 수 있습니다

문자열의 예는 다음과 같습니다.

value ="안녕하세요 0123 예시";

나는 이것을 시도했지만 숫자가 올바른 위치에 있는 경우에만 작동합니다.

value ="안녕하세요 0123 예시";

extract=substr(값,7,4);

숫자의 위치가 바뀌는데 어떻게 추출할 수 있나요?

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

2 채택된 솔루션

채택된 솔루션

Re: 문자열을 분할하여 숫자 추출하기

다음과 같이 시도해 볼 수 있습니다.

Names Default To Here( 1 );

string = "Hello 0123 example";
matches = Regex Match(
 string,
 "[0-9]{4}",
);
// ASSUMES that you are interested only in the first 4-digit number, if there is more than one
extractedNumber = matches[1];

이것은 "0123"을 반환합니다.

 

입력 문자열이 "Hello 01234 example"인 경우 여전히 "0123"을 반환합니다.

jthi
Super User

Re: 문자열을 분할하여 숫자 추출하기

다른 옵션은 Regex Match 대신 Regex를 사용하는 것입니다(이 작업을 수행할 수 있는 방법이 더 있지만 Regex 및 Regex Match가 가장 쉬운 옵션이라고 생각합니다).

Names Default To Here(1);

string = "Hello 0123 example";
four_num = Regex(string, "\d{4}"); //0123

보다 https://regex101.com/r/26hBdb/1 익숙하지 않은 경우 정규식이 어떻게 작동하는지 확인하십시오.

5 응답 5

Re: 문자열을 분할하여 숫자 추출하기

다음과 같이 시도해 볼 수 있습니다.

Names Default To Here( 1 );

string = "Hello 0123 example";
matches = Regex Match(
 string,
 "[0-9]{4}",
);
// ASSUMES that you are interested only in the first 4-digit number, if there is more than one
extractedNumber = matches[1];

이것은 "0123"을 반환합니다.

 

입력 문자열이 "Hello 01234 example"인 경우 여전히 "0123"을 반환합니다.

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

B1234
Level III

Re: 문자열을 분할하여 숫자 추출하기

이것은 매력처럼 작동했습니다. 매우 감사합니다!

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

jthi
Super User

Re: 문자열을 분할하여 숫자 추출하기

다른 옵션은 Regex Match 대신 Regex를 사용하는 것입니다(이 작업을 수행할 수 있는 방법이 더 있지만 Regex 및 Regex Match가 가장 쉬운 옵션이라고 생각합니다).

Names Default To Here(1);

string = "Hello 0123 example";
four_num = Regex(string, "\d{4}"); //0123

보다 https://regex101.com/r/26hBdb/1 익숙하지 않은 경우 정규식이 어떻게 작동하는지 확인하십시오.

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

Re: 문자열을 분할하여 숫자 추출하기

첫 경기를 잡을 필요가 없기 때문에 이것은 아마도 더 나을 것입니다.감사해요!

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

B1234
Level III

Re: 문자열을 분할하여 숫자 추출하기

네 감사합니다 @Aurora_TiffanyD 그리고 @jthi !

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.