2011-03-06 3 views
0

입력 문자열을 취하는 작은 조각이 있는데 정리 부분 ('\\과 같은 특수 문자를 제거하고 다른 문자를 공백으로 대체 함) &은 새 문자열을 생성합니다.정규 표현식에 대한 도움말

위 코드의 출력은 "IT rocks when it job to come come on"입니다. 그러나 사용자가 데이터 입력을 기대할 수 있기 때문에 "IT rocks it come come on"이라는 단어를 출력해야합니다 (작업 &은 별도의 단어로 표시해야하지만 IT는 IT로 표시되어야합니다). 전체 정지 후 공간.

누군가 내가 따라야 할 접근법을 제안 해 줄 수 있습니까?

+1

미래에는 질문에 태그를 달아 언어를 표시하십시오. – Oded

+3

질문과 관련하여 - 'I.T'에서'.'을 어떻게 다른 질문과 구별해야합니까? 나는 그것을하는 일반적인 방법을 보지 못합니다. – Oded

답변

1

첫 번째 정규 표현식에서 .을 대체하므로 두 번째 정규식의 공백으로 대체되지 않습니다.

1

의미에 대한 정보를 사용해야합니다. 이유는 A.I. 더 복잡한 다음 정규식입니다. 추가 정보가 없으면 간단한 정규 표현식은 인간이 문장의 약어 또는 끝/시작을 고려하는 것을 구별하지 못합니다.

가능한 한 가지 제안은 100 % 해결책이 아니지만 한 문자를 찾거나 점으로 구분하는 것입니다. 한 문자로 끝나는 문장과 한 문장으로 끝나는 문장이 있다고 상상할 수도 있지만, 많은 경우에 유효한 해결책이 될 수 있습니다. 아마도 입력 언어 나 주제 도메인 (있는 경우)에 대한 지식을 사용하여 다른 특수 문자에 대한 유사한 해결 방법을 생각해 볼 수 있습니다.

일반적인 일반적인 해결책은 사람이 다시 읽고 직접 손으로 오류를 수정하는 것입니다. 정규 표현식이나 다른 자동 대체는 가능한 모든 텍스트 입력에 100 % 가까이 오지 않습니다.

관련 문제