2009-07-20 21 views
4

Ich möchte das Fragezeichen (?) In einer Zeichenfolge durch einige andere Wörter ersetzen. Was ist der reguläre Ausdruck für ein Fragezeichen? Zum Beispiel möchte ich das Fragezeichen in "word =?" zu etwas anderem sagen "stackoverflow". Dann wäre das Ergebnis "word = stackoverflow". Was ist die Syntax in Java?regulären Ausdruck Frage

Antwort

15
string.replaceFirst("\\?", yourWord) 

, die mit dem ersten Auftreten eines '?' in Ihrem Code ersetzen wird, was auch immer yourWord ist. Wenn Sie alle '?' durch yourWord ersetzen möchten, verwenden Sie string.replaceAll("\\?", yourWord).

Weitere Informationen finden Sie unter javadocs.

+2

Um Verwirrung über (Java) Strings und Unveränderlichkeit zu vermeiden, versuche ich immer Antworten wie diese als Zuweisungsausdrücke zu formulieren: 'str = str.replaceFirst (" \\? ", YourWord);' –

6

In der Regel können Sie die „Magie“ nehmen Zauberzeichen wie „?“, „*“, „.“ und so weiter, durch die Escape-Zeichen verwenden, die ein Backslash (“\ ").

Der schwierige Teil ist, dass in Java, in einem String, die Backslash bereits als Flucht benutzt wird, so einen Java-String, dessen Wert zu konstruieren ist „\?“, können Sie es als „\\?“ zu codieren haben, um entkomme dem Escape-Zeichen.