2013-08-21 2 views
0

빌드하지 않은 Java Tapestry 응용 프로그램을 일부 변경했습니다. 문자열에서 줄 바꿈 (/ r)이 발생하는 횟수를 계산하려면 Java 클래스를 사용해야합니다. Tapestry에는 이것을 수행하기위한 내장 도구 또는 문자열 기능을위한 참조 안내서가 있습니까?문자열의 인스턴스를 문자열로 계산합니다.

내가 쉽게

textmedium.getTextcontent().replaceAll("\r", "<br>") 

와 줄 바꿈의 모든 인스턴스를 대체 할 수 그러나 내가) (textmedium.getTextcontent에 사용할 수있는 다른 어떤 기능 말해 것이다 참조를 찾을 수 없습니다.

StackOverflow가 좋아하는 "Java를 사용하는 문자열에서 x의 인스턴스 계산"답변 (여기에서 : Java: How do I count the number of occurrences of a char in a String?)은 StringUtils와 같은 것이 없다는 오류를 반환하므로 StringUtils가 Tapestry 일이 아니라고 생각합니다. 잘못된. 사용할 수있는 동등 물이 있습니까? 아니면 가져 오는 빠른 방법이 있습니까?

+0

StringUtils는 Commons Lang의 일부입니다. – Thilo

+0

[StringUtils] (http://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringUtils.html)는 [Apache Commons Lang] (http : //commons.apache.org/proper/commons-lang/). 클래스 패스를 사용하려면 클래스 패스에 추가해야합니다. 어떤 빌드 도구를 사용하고 있습니까? – u6f6o

답변

2

클래스 패스에 Apache Commons Lang을 추가하는 것이 좋습니다. 그렇게 할 수 없다면,이 문제를 해결할 수있는 자신 만의 방법을 찾을 수 있습니다. 너무 어렵지는 않지만 기존의 잘 테스트 된 방법을 사용하는 것이 좋습니다.

간단한 솔루션은 다음과 같은 볼 수 있었다 :

public static void main(String[] args) { 
    String bla =" gkjewlgjewl\rgjeklwgjewl\rwgjkewlgew"; 
    System.err.println(bla.split("\r").length - 1); 
} 

또한를 선두를 발견하고 같이 IndexOf (INT 채널, INT가 fromIndex)이 '돈 때까지 계속 문자열의 같이 IndexOf (INT의 채널) 방법을 사용할 수 있습니다 더 이상 찾아서 끝까지 세지 마십시오.

+0

간단한 솔루션을 이용해 주셔서 감사합니다. – Ila

+0

@Ali 솔루션이 제대로 작동하지만 Apache Commons Lang을 클래스 경로에 추가하여 이러한 문제를 정확히 해결하는 것이 좋습니다. 문제 해결을위한 솔루션 외에도 문자열 처리 등을위한 유용한 도우미 메서드가 많이 있습니다. – u6f6o

관련 문제