String을 가져 와서 다른 문자 집합과 바꾸는 일종의 파서를 작성해야합니다. 코드는 다음과 같습니다.많은 문자열을 수행하는 가장 빠른 방법은 Java에서 바꿉니다.
noHTMLString = noHTMLString.replaceAll("</p>", "\n");
noHTMLString = noHTMLString.replaceAll("<br/>", "\n\n");
noHTMLString = noHTMLString.replaceAll("<br />", "\n\n");
//here goes A LOT of lines like these ones
이 함수는 매우 길며 많은 문자열을 대체합니다. 여기서 문제는 응용 프로그램의 성능이 저하되어 많은 시간이 소요되는 메서드이기 때문에 많은 시간이 필요하다는 것입니다. 이 여기 Does string.replaceAll() performance suffer from string immutability? 언급 String 클래스에서 완전히 대체 방법은
일치 패턴 & Matcher를하고 Matcher.replaceAll와 함께 작동됩니다으로
나는 대안으로의 StringBuilder를 사용하는 방법에 대한 몇 가지 스레드를 읽고 있지만 완전히 대체 방법이 부족하고()는 StringBuilder를 사용하여 최종 반환 값 을 저장하므로 StringBuilder로 전환하면 실제로 대체 작업을 수행하는 시간이 단축되는지 알 수 없습니다.
빠른 방법으로 많은 문자열을 빠르게 바꾸는 방법을 알고 계십니까? 이 문제에 대한 조언이 있으십니까?
감사합니다.
EDIT : 일부 필드가 html 텍스트 인 보고서를 만들어야합니다. 각 행에 대해 이러한 문자열 내부의 모든 HTML 태그와 특수 문자를 대체하는 메서드를 호출하고 있습니다. 전체 보고서를 작성하면 모든 텍스트를 구문 분석하는 데 3 분 이상 소요됩니다. 문제는 내가이 메소드를 매우 자주 호출해야한다는 것입니다.
당신의 속도가 느려 집니까? - noHTMLString 텍스트의 길이 또는이 세 문을 매우 자주 호출합니까? – Ralph
html 텍스트가있는 몇 개의 필드가있는 보고서를 만들어야합니다. 각 행에 대해 이러한 문자열 내부의 모든 HTML 태그와 특수 문자를 대체하는 메서드를 호출하고 있습니다. 전체 보고서를 작성하면 모든 텍스트를 구문 분석하는 데 3 분 이상 소요됩니다. 그래서 문제는 제가이 메소드를 매우 자주 호출해야한다는 것입니다. – Averroes
참고 : http://stackoverflow.com/a/1765616/59087 –