Chat

Dieses Thema im Forum "Programmierung" wurde erstellt von Masterfran99, 10. April 2014.

  1. Masterfran99
    Offline

    Masterfran99 Gesperrt

    Registriert seit:
    13. Oktober 2012
    Beiträge:
    100
    Code (Text):
    1.     else if(e.getMessage().contains("):")){
    2.         e.setMessage(e.getMessage().replaceAll("):", "§e☹§r"));
    3.     }
    Damit sollte normaler Weise folgendes: ): dann ein Smiley sein jedoch das Problem ist die Klammer ")" klappt da nicht wie kann man das umgehen??

    Das Event ist das PlayerChatEvent

    Danke
     
    #1
  2. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Was ist jetzt dein Problem? Alles was in den "" steht, wird als String behandelt und es ist egal, ob der jetzt "Text" oder ":(" lautet. Außerdem reicht es die Methode "e.setMessage(e.getMessage().replaceAll("):", "§e☹§r"));" zu benutzen. Du musst nicht erst überprüfen, ob der String ein ":(" enthält.
     
    #2
  3. Masterfran99
    Offline

    Masterfran99 Gesperrt

    Registriert seit:
    13. Oktober 2012
    Beiträge:
    100
    Teste es dann verstehst du es ---> Fehler

    Code (Text):
    1.     @EventHandler
    2.     public void onChat(AsyncPlayerChatEvent e){
    3.     if(e.getMessage().contains("(:")){
    4.         e.setMessage("§e☺§r");
    5.         }
    Das geht aber oben das nicht bau es zusammen ---> testen ----> Fehler
     
    #3
  4. games6471
    Offline

    games6471

    Natürlich geht das oben nicht. Mit .replaceAll werden reguläre Expressions verwendet und nicht normale Zeichenketten, wovon du wahrscheinlich ausgegangen bist. Bereits bei der Anwendung dieser Konstruktion gibt mir meine IDE eine Warnung. Verwende ".replace(CharSequence target, CharSequence replacement) " Dort werden auch alle Element ersetzt.
     
    #4