2017-07-03 14 views
1

特定のアドレスを解析しようとしていますが、/ in/s/o以外の特殊文字は削除したいと思います。 S/O | d/o | D/O | w/OなどreplaceAll正規表現を除く正規表​​現

だから、私は文字列を持っていると言うことができます。何かのようなもの。 parsedStringは出力を持っているなるように、私は

String parsedString = addressString.replaceAll(regex,""); 

に使用する正規表現のどのような

@Jane Doe. 
W/O John Doe. 
House #250, 
Campbell & Jack ^Street, 
\Random * State, Nowhere. 

Jane Doe 
W/O John Doe 
House 250 
Campbell Jack Street 
Random State, Nowhere 

(。私は交換しています@、#^ & /()W/Oを除く)

+0

ヒュムOfftopic:しかし[...いくつかのことを明確化](https://i.stack.imgur.com/TsJyw.jpg)に役立つかもしれない –

+1

正規表現はどこですか? –

+0

https://stackoverflow.com/questions/8248277/how-to-determine-if-a-string-has-non-alphanumeric-characters – SomeDude

答えて

3

あなたはオプションの大文字小文字を区別しないでこのパターンを使用することができます。

String pat = "[@#&^*/.,](?i)(?<![wds]/(?=o))"; 

詳細:

[@#&^*/.,] # characters you want to remove 
(?i)  # switch the case insensitive flag 
(?<!  # negative lookbehind: not preceded by 
    [wds]/ # w or d or s and a slash 
    (?=o) # lookahead: followed by a o 
) 
+0

の重複の可能性あり投稿前にテストしましたか? – Dev

+0

@Dev:いいえ、なぜですか?.. –

+0

あなたの更新されたコメントは、私が望むのとまったく同じです。 :) これは私が少しそれをテストしている、誰もが興味を持っている。 https://ideone.com/MzWWZW –