목록에있는 문자열의 일부 값을 구문 분석하고 식별하려고합니다.
string.Contains
찾고있는 값을 식별하기 위해 사용 하고 있지만 값이 다른 텍스트로 둘러싸여 있어도 히트를 받고 있습니다. 값이 격리 된 경우에만 히트를 받도록하려면 어떻게해야합니까?
구문 분석 예 :
가치를 찾고 = "302"
string sale =
"199708. (30), italiano, delim fabricata modella, serialNumber302. tnr F18529302E.";
var result = sale.ToLower().Contains(”302”));
이 예에서는 "dontfind302 shouldfind 302"와 같이 격리 된 "302"를 찾은 경우에만 히트를 원하기 때문에 컨텍스트에서 잘못된 "serialNumber302"
및에 대한 히트를 얻습니다 "F18529302E"
.
이를 수행하는 방법에 대한 아이디어가 있습니까?
Regex를 시도하면 다음을 사용하여 단어 경계를 정의 할 수 있습니다 \b
.
string sale =
"199708. (30), italiano, delim fabricata modella, serialNumber302. tnr F18529302E.";
bool result = Regex.IsMatch(sale, @"\b302\b"); // false
sale = "A string with 302 isolated";
result = Regex.IsMatch(sale, @"\b302\b"); // true
따라서 302는 문자열의 시작 부분, 문자열의 끝 부분 또는 단어가 아닌 문자로 둘러싸인 경우에만 검색됩니다. 즉 az AZ 0-9 또는 _가 아닙니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다