2017-03-28 58 views
-2

私はJavaの初心者ですが、正規表現の仕組みを理解することはまだ非常に複雑です。文字列から特定の特殊文字をチェックして削除する正規表現を作成する方法がわかりません。javaで特定の特殊文字を削除するにはどうすればよいですか?

「@のの#$%¨& *()_- + = {[}]º| \、:;!。?/°(私がチェックして、文字列から削除する必要があります)

おかげで進める

+0

を多分これはあなたが本当にHTTPを望むものです。 com/questions/14361556/remove-all-special-characters-in-java? –

+1

私はこれを見ましたが、私の文字列にはアジア言語の値が含まれています.A-zZはありません。ありがとう@ScaryWombat – F4bioo

+0

これは正規表現の記述サービスではないので、 [this one](http://stackoverflow.com/q/14361556/62576)のように、ここに既存の質問があります。この質問は、開始する場所を与えるはずです。 (他のキャラクターのためにそれを調整する必要がある場合は、そのようにしてから、問題を特定の質問をすることができます)。 –

答えて

1

あなたはすべての句読点(\p{P})と記号(\p{S})とº記号を削除するために正規表現を使用できます。

String result = s.replaceAll("[\\p{S}\\p{P}º]+", ""); 

または\p{Punct}One of !"#$%&'()*+,-./:;<=>[email protected][\]^_{|}~`)を使用

String result = s.replaceAll("[\\p{Punct}º]+", ""); 

Java demo参照してください:

import java.util.*; 
import java.lang.*; 
import java.io.*; 

class Ideone 
{ 
    public static void main (String[] args) throws java.lang.Exception 
    { 
     String answer = "Lore!m [email protected] dol$or si%t amet, co¨nsectetur adi&piscing el*it. Mo(rbi pla)cerat, tu_rpis s_it am+et acc=umsan ve{nenatis, ma[gna r}isus ulla]mcorper an|te, ne\\c por,ttitor lac.us n:unc se;d el?it. Nul/la tristi°que posºuere felis, in ullamcorper sapien dignissim sit amet."; 
     System.out.println(check(answer)); 
    } 
    private static String check(String answer) { 
     return answer.replaceAll("[\\p{S}\\p{P}º]+", ""); 
    } 
} 

出力:// stackoverflowの:

Lorem ipsum dolor sit amet consectetur adipiscing elit Morbi placerat turpis sit amet accumsan venenatis magna risus ullamcorper ante nec porttitor lacus nunc sed elit Nulla tristique posuere felis in ullamcorper sapien dignissim sit amet 
1

良い方法であれば、私は知りませんが、それは働いて

private String check(String answer) { 
    return answer.replaceAll("[[email protected]#$%¨&*()_\\-+={\\[}\\]º|\\\\,.:;?/°]", ""); 
} 

String answer = "Lore!m [email protected] dol$or si%t amet, co¨nsectetur adi&piscing el*it. Mo(rbi pla)cerat, tu_rpis s_it am+et acc=umsan ve{nenatis, ma[gna r}isus ulla]mcorper an|te, ne\\c por,ttitor lac.us n:unc se;d el?it. Nul/la tristi°que posºuere felis, in ullamcorper sapien dignissim sit amet."; 

Log.i("ans", check(answer)); 

Lorem ipsum dolor sit amet consectetur adipiscing elit Morbi placerat turpis 
sit amet accumsan venenatis magna risus ullamcorper ante nec porttitor lacus 
nunc sed elit Nulla tristique posuere felis in ullamcorper sapien dignissim 
sit amet 
+0

誰でも必要な場合は、良いリファレンスを見つけました。 [link](https://developer.android.com/reference/java/util/regex/Pattern.html) – F4bioo

+1

私はそれが本のことだと言わなければなりません。私は他の解決策を望みません。ニース! –

+1

@ F4bioo:すべての句読点と記号+その 'º'記号 - '。\\ p {S} \\ p {P} '+"、 "") 'を削除する正規表現はどうでしょうか? [このデモ](https://regex101.com/r/3CCUHu/2)を参照してください –

関連する問題