phép nói rằng tôi có danh sách các chữ:dây Loại bỏ từ một chuỗi trong java
String[] stopWords = new String[]{"i","a","and","about","an","are","as","at","be","by","com","for","from","how","in","is","it","not","of","on","or","that","the","this","to","was","what","when","where","who","will","with","the","www"};
Thần I có văn bản
String text = "I would like to do a nice novel about nature AND people"
Có phương pháp phù hợp với từ dừng và loại bỏ chúng trong khi bỏ qua trường hợp ; như này ở đâu đó ngoài kia ?:
String noStopWordsText = remove(text, stopWords);
Kết quả:
" would like do nice novel nature people"
Nếu bạn biết về regex mà wold công việc tuyệt vời nhưng tôi thực sự muốn một cái gì đó giống như giải pháp commons đó là hơn chút hiệu suất theo định hướng.
BTW, ngay bây giờ tôi đang sử dụng phương pháp này commons mà thiếu thích hợp xử lý trường hợp nhạy cảm:
private static final String[] stopWords = new String[]{"i", "a", "and", "about", "an", "are", "as", "at", "be", "by", "com", "for", "from", "how", "in", "is", "it", "not", "of", "on", "or", "that", "the", "this", "to", "was", "what", "when", "where", "who", "will", "with", "the", "www", "I", "A", "AND", "ABOUT", "AN", "ARE", "AS", "AT", "BE", "BY", "COM", "FOR", "FROM", "HOW", "IN", "IS", "IT", "NOT", "OF", "ON", "OR", "THAT", "THE", "THIS", "TO", "WAS", "WHAT", "WHEN", "WHERE", "WHO", "WILL", "WITH", "THE", "WWW"};
private static final String[] blanksForStopWords = new String[]{"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""};
noStopWordsText = StringUtils.replaceEach(text, stopWords, blanksForStopWords);
Bạn có dấu câu trong chuỗi của mình không? – Gabe
Bạn có một số con số khó mà chỉ đến một giải pháp regexp không được thực hiện đủ, hoặc là chỉ cần tối ưu hóa sớm? Ý tôi là, nó chắc chắn không phải là giải pháp hiệu suất nhất _the_, nhưng trừ khi đây là tất cả những gì bạn làm và bạn cần thực hiện nó 10K lần trong một giây, tôi sẽ đặt cược nó không phải là một vấn đề. – Theo