Zeichen in String ermitteln

  • Themenstarter Themenstarter Cavemaster
  • Beginndatum Beginndatum
C

Cavemaster

Hi!

Ich habe einen von einem Dokument eingelesenen String den ich gerne auf das Vorhandensein eines Anführungszeichens überprüfen möchte.
Normalerweise würde ich ja folgenden Befehl verwenden:

Code:
 if(string.toLowerCase().indexOf( irgendeinzeichen ) >= 0)

Dumerweise ist es nicht möglich, ein Anführungszeichen zwischen die Anführungszeichen zu quetschen, quasi: """.

Ich hab mal probiert, das ganze über ein ASCII-Zeichen auszudrücken, dann sieht das ganze so aus:

Code:
 if(string.toLowerCase().indexOf( (char)34 ) >= 0)

Die 34 steht für das Anführungszeichen, (char) wandelt das ganze in ein Zeichen um.
Allerdings bekome ich jetzt eine "java.lang.NullPointerException".

Was mache ich falsch?
 
Warum du jetzt ne Nullpointer-Exception bekommst seh ich grad nicht, aber folgendes sollte auch gehen:

Code:
if(string.toLowerCase().indexOf( "\"" ) >= 0)

Hoff ich zumindest...

Gruß
Tobias
 
Hy

Wie wärs denn z.B. so?
Code:
package demos;

public class ContainsCharDemo {

	public static void main( String[] args ) {
		String s1 = "abc\"defg";
		String s2 = "abcdefg";
		String s3 = "abc'defg";
		
		// doppeltes Anführungszeichen
		System.out.println( "s1: " + containsChar( s1, '"' ) );
		System.out.println( "s2: " + containsChar( s2, '"' ) );

		// einfaches Anführungszeichen
		System.out.println( "s3: " + containsChar( s3, '\'' ) );
	}
	
	private static boolean containsChar( String str, char c ) {
		return str.indexOf( c ) < 0 ? false : true; 
	}
}

Gruss
ben
 
Erstmal danke für eure Antworten!

Das Problem hat sich erledigt, der String hatte keinen Inhalt ^^ (peinlich, peinlich -> hab da zwei Strings durcheinandergeworfen)!
Trotzdem danke für eure beiden Möglichkeiten, kann sicherlich nicht schaden, die zu kennen.


Grüße
Cave
 
Zurück