은 내가 특별히, 텍스트 블록을 특정 텍스트 (이름)를 위해 그것을 스캔하여 URL로 돌려하려고 : 텍스트의동일한 텍스트가있는 oldValues로 문자열을 두 번 바꾸는 방법은 무엇입니까?
블록 : 이제 내가 무엇을
Chairman Joe Smith has announced a new plan to decrease expenditures by outsourcing the planning of the new dining hall. Smith states the current project managers do not have excess time to commit to this new project and this will be less costly than hiring a new or contract project manager.
을 조 스미스 회장 또는 조 스미스 또는 스미스 회장 또는 스미스 회장의 사례를 취하여 프로필/바이오에 링크하십시오. 내가 알고있는 모든 문자열 메서드를 사용하여 (문자열 바꾸기, 문자열 작성기, 일치하는 문자열 앞뒤에 텍스트 추가) Smith와 다른 이름을 검색 할 때 문제가 발생합니다.
나는 다음 시도 할 경우 :
String.replace("Smith", "<a href='smithbio.html'>Smith</a>")
String.replace("Chairman Joe Smith", "<a href='smithbio.html'>Chairman Joe Smith</a>")
어디 스미스는 그의 이름 실패 만 스미스가 링크 될 것의 일부로서 사용되기 때문에 그것은 나쁜 것입니다.
하지만 반대하려고하면이 뜻이 내포 된 링크를 생성
String.replace("Chairman Joe Smith", "<a href='smithbio.html'>Chairman Joe Smith</a>")
String.replace("Smith", "<a href='smithbio.html'>Smith</a>")
합니다.
아마 내가 정규 표현식 검사와 함께 regex.Replace를 사용해야한다고 생각합니다. 그러나 그렇게한다면 나는 그것을하는 방법을 생각해 내는데 어려움을 겪고있다. 어떻게 이러한 여러 대체 할 수 있지만 다른 string.replacer 호출되는 않는 한이 문자열을 바꿀 말합니까? 참고로 다음과 같이
감사 :
다음은 예입니다! 이 예제와 링크는 매우 유용했습니다. 회장 조 스미스 (Joe Smith)가 여러 제목을 갖고 있는데, 내가 언급 한 내용을 파싱하고 싶다면 다음과 같이 말하십시오. "((Honored \ s +) | (Chairman \ s +) | (Joe \ s +) "? Smith"'? – SventoryMang
@ sah302 : 괄호 안의 모든 묶음을 괄호로 감싸면'|'는 너무 욕심이납니다. "(Honored \ s + | Title2 \ s + | Chairman \ s +)? (Joe \ s +)? Smith "(테스트 됨) – SLaks