Suche nach einem / - symbol im string
Ich bin auf der Suche nach einem Schrägstrich in einer Zeichenkette...
Diese scheint nicht zu funktionieren:
if ("/test".indexOf("/") > -1) {
Was mache ich falsch?
Lustige an der Sache ist... ich habe versucht diese:
if ("!test".indexOf("!") > -1) {
- und es funktioniert! Ich habe auch versucht \/, dass... helfen?
System.out.println("/test".indexOf("/") > -1);
Drucketrue
hier. Dein problem liegt sicherlich woanders. Vertrauen Sie mir.- wie Sie den Schluss, dass es nicht funktioniert? ist das wirklich Java?
- Es gibt keine Sprache, in der die erste Zeile wird nicht funktionieren, sondern die zweite. (AFAIK)
- sorry, aber ich kenne nicht alle Sprachen... aber kann mir vorstellen, dass einige, wo Sie außer Kraft setzen können
indexOf
(mit/
ein besonderes Zeichen?), oder die nicht über eine standard -indexOf
überhaupt. - Dann die zweite Zeile wird nicht funktionieren.
- Ich denke, der Grund ist, weil ich es zu überprüfen, wie dieses, wenn ("/kick dan".indexOf("/") > -1) { und es würde false zurückgeben, aber wenn ich es aufteilen mit einem Raum delimeter und habe dieses:wenn (whoKick[0].indexOf("/") > -1) { -- es hat funktioniert.
- führende Leerzeichen meinst du?
- Ja, ich weiß.
- die Zeichenfolge redest du?
- Die zurückgegebene Zeichenfolge durch
say.getText()
. - Ok, vielen Dank! So, dass ist der Grund, warum es nicht funktioniert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um zu testen, ob ein String beginnt mit einem bestimmten Zeichen, verwenden Sie
charAt(0)
zu bekommen, der charracteroder
startsWith(String)
zu überprüfen, für mehr als ein Zeichen (eine Zeichenkette)EDIT:
verwenden
trim()
löschen der führenden und nachfolgenden Leerzeichen, wenn nötig:Verwenden enthält
Jedoch beide Methoden funktionieren und beide funktionierten in meinen tests.
Ihre
say.getText()
nennen ist wohl zurückgeben einer Zeichenfolge, die beginnt nicht mit/
.(Siehe Kommentar)
Beispielsweise, es könnte beginnen mit
∕
(U+2215 DIVISION SLASH), oder mit einem Leerzeichen (oder mit einem\
backslash).BEARBEITEN: Sie haben whitespace
oder eine nicht-Druck-Zeichenvor der/
. Vertrauen Sie mir.Muss es etwas anderes sein.
Diese richtig Drucke