NEWS
[gelöst] Zeichen in String einfügen
-
Hallo liebes Forum.
Ich bräuchte Hilfe.
Ich möchte in einem String an eine bestimmte Stelle (nach dem 17. Zeichen) die Zeichenfolge ([l4c1]) einfügen damit auf einem Display eine neu Zeile mit dem rest des Strings begonnen wird.Ich habe das hier gefunden. Wenn ich das in Java Script ausführe kommt eine Fehlermeldung.
Kann mir jemand sagen was mir fehlt oder wie ich das machen kann.
Danke.public class AddChartToString { public static void main(String[] args) { char charToAdd1 = 'A'; char charToAdd2 = 'g'; String alex = "Alex got Grade in the School"; String bob = "While Bob ot Grade C"; String alexResult = alex.substring(0, 15) + charToAdd1 +alex.substring(15); String bobResult = bob.substring(0, 10) + charToAdd2 + bob.substring(10); System.out.println(alexResult); System.out.println(bobResult); } }
-
@delamaris sagte in Zeichen in String einfügen:
Wenn ich das in Java Script ausführe kommt eine Fehlermeldung.
Eine geheime Fehlermeldung? Das sind die schlimmsten!
-
-
@delamaris
Ist das Javascript? -
ah habe ich vergessen ist nicht geheim
3:22:28.173 error javascript.0 (1689479) script.js.111111 compile failed: at script.js.111111:3
Cannot find name 'StringBuffer'.(2304) -
@paul53
ich weiss nicht ob das wirklich Javascript ist.habe ich hier gefunden:
https://www.delftstack.com/de/howto/java/add-char-to-string-java/ -
zeig doch mal den string den du hast.
Ist der immer gleich, oder ändert der sich.Und dann genau beschreiben was wohin soll.
-
@delamaris sagte: habe ich hier gefunden:
Javascript ist nicht Java!
-
Der String ist von Sonos Adapter current_title.
Der sieht momentan so aus "Taylor Swift - Blank Space" und änder sich natürlich.
Mein Display hat in 1 Linie aber nur 17 Zeichen sichtbar.
Also müsste nach dem 17 Zeichen das "[l4c1]" eigefügt werden damit der Rest vom String in eine neue Zeile kommt. -
Lösung:
var dp = "Taylor Swift - Blank Space"; var neu_dp = dp.substring(0,17) + "[l4c1]" + dp.substring(17,dp.length); log (neu_dp);
-
@delamaris sagte: nach dem 17 Zeichen das "[l4c1]" eigefügt werden
Javascript für ioBroker:
// IDs anpassen! const idSonos = 'sonos.0.abc'; const idDisp = 'xyz'; on(idSonos, function(dp) { let str = dp.state.val; if(str.length > 17) str = str.substring(0, 17) + '[l4c1]' + str.substring(17); setState(idDisp, str); });
EDIT: Es sieht sicherlich besser aus, wenn man das letzte Leerzeichen in den ersten 17 Zeichen durch die Zeilenschaltung ersetzt.
if(str.length > 17) { let space = str.lastIndexOf(' ', 17); if(space > 10) str = str.substring(0, space) + '[l4c1]' + str.substring(space + 1); else str = str.substring(0, 17) + '[l4c1]' + str.substring(17); }
-
Boah, es funktioniert.
Vielen vielen Dank an alle Beteiligten.
-
@delamaris sagte: es funktioniert.
Dann setze bitte das Thema in der Überschrift des ersten Beitrags auf [gelöst].