Guest User

Untitled

a guest
Apr 2nd, 2015
365
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.51 KB | None | 0 0
  1. public class Shortener {
  2.     private Map<String, String> shortningRules;
  3.  
  4.     /*
  5.      * Default constructor that will load a default abbreviations text file.
  6.      */
  7.     public Shortener(FileReader reader) {
  8.         this.shortningRules = new HashMap<>();
  9.         parseInput(reader);
  10.     }
  11.  
  12.     public Shortener(Map<String, String> shortningRules) {
  13.         this.shortningRules = shortningRules;
  14.     }
  15.  
  16.     private void parseInput(FileReader reader) {
  17.         try (BufferedReader br = new BufferedReader(reader)) {
  18.             String line;
  19.             while ((line = br.readLine()) != null) {
  20.                 String[] lineComponents = line.split(",");
  21.                 this.shortningRules.put(lineComponents[0], lineComponents[1]);
  22.             }
  23.         } catch (IOException e) {
  24.             e.printStackTrace();
  25.         }
  26.     }
  27.  
  28.     public void shortenMessage(String message) {
  29.         for (Entry<String, String> entry : shortningRules.entrySet()) {
  30.             message = message.replaceAll("\\b" + entry.getKey() + "\\b", entry.getValue());
  31.         }
  32.         System.out.println(message);
  33.     }
  34.  
  35.     public static void main(String[] args) {
  36.         Map<String, String> rules = new HashMap<String, String>() {{
  37.             put("hello", "lo");
  38.             put("any", "ne");
  39.             put("anyone", "ne1");
  40.             put("thanks", "thx");
  41.         }};
  42.         Shortener shortener = new Shortener(rules);
  43.  
  44.         String msg = "hello? any anyone thanks!";
  45.         shortener.shortenMessage(msg);
  46.     }
  47.  
  48. }
Advertisement
Add Comment
Please, Sign In to add comment