Advertisement
nicb

Untitled

Feb 26th, 2023 (edited)
543
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.03 KB | None | 0 0
  1. import com.ibm.icu.text.Transliterator;
  2. import org.springframework.stereotype.Service;
  3.  
  4. import java.text.Normalizer;
  5. import java.util.regex.Matcher;
  6. import java.util.regex.Pattern;
  7.  
  8. import static java.text.Normalizer.Form.NFKD;
  9.  
  10.  
  11.  
  12.  
  13. @Service
  14. public class DiacriticsService {
  15.  
  16.     public boolean isLatin(String input){
  17.         String pattern = "[A-Za-z[,'%\\\\.\\\\-\\\\s]]*"; // Regex per verificare se la stringa รจ alfabeto latino
  18.         Pattern p = Pattern.compile(pattern);
  19.         Matcher m = p.matcher(input);
  20.         return m.matches();
  21.     }
  22.  
  23.     public String transliterator(String input){
  24.         String id = "Any-Latin; NFD; [:Nonspacing Mark:] Remove; NFC; [:Punctuation:] Remove; Latin-ASCII;";
  25.         String latin = Transliterator.getInstance(id)
  26.                 .transform(input);
  27.         return latin;
  28.     }
  29.  
  30.     public String normalizeTransliterator(String input) {
  31.         input = Normalizer.normalize(input, NFKD);
  32.         return input.replaceAll("[\\p{InCombiningDiacriticalMarks}]", "");
  33.     }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement