문자와 문자를 그 사이에 공백이없는 하나의 디지털과 일치시키는 정규 표현식 함수여러분 안녕하세요,
나는 characterization STD4 1 1을위한 "9 035 Assay Activity Testing"문자열을 가지고 있습니다. 나는 "특성화 STD4를위한 분석 활동 테스트"와 만 일치하기를 원합니다.
나는 사용하려고 : 정규식 (: 샘플 이름, "\ d", "", GLOBALREPLACE); 성병에 번호를 떨어 뜨 렸어, 어떤 제안이라도?
감사
재 : 문자와 문자를 하나의 디지털 사이에 공간이없는 정규식과 일치시키는 정규식 함수도와 주셔서 대단히 감사합니다. 규칙에 대한 설명이 도움이됩니다. 나는 모든 프리 스탠딩 번호와 다음 작업을 완벽하게 다듬어야한다고 생각합니다.
"(\ D + (\ w + \ w)) +"
재 : 문자와 문자를 하나의 디지털 사이에 공간이없는 정규식과 일치시키는 정규식 함수Justin의 예는 완벽 할 수도 있지만 사용하는 규칙을 알지 못하면 말할 수 없습니다. 규칙은 모든 주요 자릿수와 공백을 삭제하는 것이거나 "Assay"에서 시작하는 것일 수 있습니다. 그리고 다른 한편으로는 규칙은 두 개의 마지막 공백으로 구분 된 숫자를 버리거나 마지막 숫자 이외의 모든 숫자 또는 단어에 연결된 마지막 숫자 다음을 모두 삭제하는 것일 수 있습니다. 그리고 이것들은 단지 몇 가지 가능한 규칙 일뿐입니다. 규칙을 알고 나면 규칙을 따르는 것이 더 쉬워집니다.
저스틴의 예를 의문시하는 사람은 다음과 같이 읽으십시오.
(... ) +는 괄호 안의 내용이 한 번 이상 일치 함을 의미합니다.
[az] +는 하나 이상의 문자를 의미합니다.
\디? 1 자리 또는 0 자리를 의미합니다.
\ s는 공백을 의미합니다.
괄호와 일치하는 각 '단어'는 선택 사항 인 후행 자릿수와 필수 후행 공백, 심지어 마지막 단어까지 포함합니다. Justin은 trim 함수를 사용하여 결과에서 최종 공간을 제거합니다. 데이터에 마지막 단어 다음에 공백이 없으면 마지막 단어는 포함되지 않습니다.
재 : 문자와 문자를 하나의 디지털 사이에 공간이없는 정규식과 일치시키는 정규식 함수전역 대체를 수행하는 대신 보유하려는 문자열 부분에 대해 일치 항목을 얻을 수 있습니다.
이 RegEx는 사용자가 지정한 문자열에 대해 작동하지만 다른 문자열의 형식이 너무 다른 경우에는 사용할 수 없습니다.
Trim(
Regex(
"9 035 Assay Activity Testing For Characterization STD4 1 1",
"([a-z]+\d?\s)+",
"\0",
IGNORECASE
)
);
로그:
"Assay Activity Testing For Characterization STD4"