[Java] BadWordFiltering 2 (욕설 필터링 라이브러리)

PersesTitan·2023년 4월 11일
0

라이브러리

목록 보기
6/6

예전에 구현했었던 [Java] BadWordFiltering (욕, 비속어 필터 라이브러리)에 기능을 추가하게 되었습니다.

라이브러리 특성상 욕설등이 포함되어 있을 수 있다는 점 주의해주세요.

업데이트

변경 사항

checkAndChange(String) -> change(String)로 메소드명칭이 변경되었습니다.

추가 사항

change(String, String[])

  • 리턴 타입 : String
  • 파라미터 : (필터링할 텍스트, 확인할 특수기호)
  • 설명 : 받은 텍스트에 욕설중간에 특수기호등으로 넣어두어도 필터링하는 기능

예시 코드

필터링될 문자는 욕설로 대체합니다.

BadWordFiltering filtering = new BadWordFiltering();
System.out.println(filtering.change("욕_설", new String[] {"_"}));

출력
***

readURL(URL, String, boolean)

  • 리턴 타입 : void
  • 파라미터
링크(URL): 욕설 리스트가 정리되어 있는 링크

기호(String): 잘라낼 기준의 기호들 (예시: "+-"일때 "+", "-"기준으로 잘라냄) (기본값: 공백)

양끝 공백 허용(boolean): 양끝 공백을 제거 허용 (기본: true)
  • 관련 메소드
readURL(URL): 기호와 양끝 공백를 기본값으로 사용 
readURL(URL, String): 양끝 공백을 기본값으로 사용
readURL(URL, boolean): 기호를 기본값으로 잘라내기
readURL(String): URL타입이 아닌 String 타입으로 입력
readURL(String, String): URL과 동일
readURL(String, boolean): URL과 동일
readURL(String, String, boolean): URL과 동일
  • 설명: 욕설이 적혀있는 파일를 읽은뒤에 잘라낼 기호의 기준으로 잘라내어 단어를 추가하는 로직

코드 예시

BadWordFiltering filtering = new BadWordFiltering();
String url = "https://raw.githubusercontent.com/PersesTitan/BadWordFiltering/master/badwords.txt";
// ex1)
filtering.readURL(url, ",");
// ex2)
filtering.readURL(new URL(url), ",");

readFile(File, String, boolean)

  • 리턴 타입 : void
  • 파라미터
file(File): 욕설 리스트가 정리되어 있는 파일

기호(String): 잘라낼 기준의 기호들 (예시: "+-"일때 "+", "-"기준으로 잘라냄) (기본값: 공백)

양끝 공백 허용(boolean): 양끝 공백을 제거 허용 (기본: true)
  • 관련 메소드
readFile(File): 기호와 양끝 공백를 기본값으로 사용
readFile(File, String): 양끝 공백을 기본값으로 사용
readFile(File, boolean): 기호를 기본값으로 잘라내기
readFile(String): File타입이 아닌 String 타입으로 경로 입력
readFile(String, String): File과 동일
readFile(String, boolean): File과 동일
readFile(String, String, boolean): File과 동일
  • 설명: 욕설이 적혀있는 링크를 읽은뒤에 잘라낼 기호의 기준으로 잘라내어 단어를 추가하는 로직

코드 예시

BadWordFiltering filtering = new BadWordFiltering();

String filePath = "badwords.txt";
// ex1)
filtering.readFile(filePath, ",");
// ex2)
filtering.readFile(new File(filePath), ",");

라이브러리 Github 링크

profile
안녕하세요 페르세스 티탄입니다! 부족한 부분이 많이 있겠지만 잘부탁드립니다.

0개의 댓글