You are not logged in.

  • Login
Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Nico__2801

User / Kunde

  • "Nico__2801" started this thread

Posts: 63

  • Send private message

1

Sunday, September 6th 2015, 2:12pm

Caps automatisch kleinschreiben

Hallo,
könnte mir jemand sagen, warum dieser Code nicht funktioniert? :D

Java source code

1
2
3
4
5
6
7
8
9
10
11
12
	@EventHandler
	public void onCaps(AsyncPlayerChatEvent evt) {
		if(!evt.isCancelled()) {
			String msg1 = evt.getMessage();
			String[] msgsplit = msg1.split(" ");
			for(String s : msgsplit) {
				if(s.toUpperCase().equals(s) && s.length() >= 3) {
					evt.setMessage(msg1.replace(s, s.toLowerCase()));
				}
			}
		}
	}

Das Event ist registriert

NichtTobias

User / Kunde

  • "NichtTobias" is male

Posts: 228

Location: Nordrhein Westfalen

Occupation: Schüler

  • Send private message

2

Sunday, September 6th 2015, 2:17pm

Versuch mal eventuell die Eventmessage am Ende zu setzen:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
@EventHandler
	public void onCaps(AsyncPlayerChatEvent evt) {
		if(!evt.isCancelled()) {
			String msg1 = evt.getMessage();
			String[] msgsplit = msg1.split(" ");
			for(String s : msgsplit) {
				if(s.toUpperCase().equals(s) && s.length() >= 3) {
					msg1.replace(s, s.toLowerCase());
				}
			}
                        evt.setMessage(msg1);
		}
	}


Ach und es wäre gut zu wissen, was nicht funktioniert ;)
Mit freundlichen Grüßen, NichtTobias


Nico__2801

User / Kunde

  • "Nico__2801" started this thread

Posts: 63

  • Send private message

3

Sunday, September 6th 2015, 2:30pm

Danke, funktioniert aber leider auch nicht. Also die Caps werden nicht kleingeschrieben, die Message bzw. die Strings bleiben in Caps

NichtTobias

User / Kunde

  • "NichtTobias" is male

Posts: 228

Location: Nordrhein Westfalen

Occupation: Schüler

  • Send private message

4

Sunday, September 6th 2015, 2:41pm

Habs mal getestet und bei die replace Methode verhält sich so, dass sie anstatt den Ursprung zu replacen eine Kopie macht und diese zurückgibt (eben mit den replaceten Teilen). Lösung:

Source code

1
msg1 = msg1.replace(s, s.toLowerCase());
Mit freundlichen Grüßen, NichtTobias


Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net