ether indexOf 또는 regex Pattern을 사용할 때 기본적으로 \ n을 무시하고 검색을 시도하고 있습니다. 찾은 색인이 잘못되어 모든 개행 문자를 제거 할 수는 없습니다.건초 더미에서 바늘을 찾고 텍스트 위치를 보존하기위한 줄 바꿈을 무시합니다.
Matcher matcher = Pattern.compile("dog").matcher("cat\n do\ng cow");
matcher.find();
int start = matcher.start();
int end = matcher.end();
System.out.println("Start: "+start+" End: "+end);
해야 출력 : 예를 들어
Start: 5 End: 9
나는 줄 바꿈을 제거하면,
Matcher matcher = Pattern.compile("dog").matcher("cat\n do\ng cow".replaceAll("\n",""));
그런 다음 인덱스는 엉망이 될 것이다 :
Start: 4 End: 7
참고 : 예제에서 사용한 것보다 더 복잡한 정규식을 사용하려고합니다.
텍스트 편집기에서 찾기 기능을 구현 중이며 '둘러보기'옵션을 만들려고합니다. 아이디어가 있으십니까?
무시 하시겠습니까? 색인이 잘못 되었기 때문에 색인을 제거 할 수 없다고 말하지만 indexOf를 수행하면 개행 문자가 계산되어 무시할 수 있습니다. 원하는 입출력을 보여주십시오. – Danny
또한 (코드를 통해) 사용자가 솔루션을 안내 할 수 있도록 시도하려는 것을 보여주십시오. –