2017-01-24 3 views
0

: 入力はString

です
Input = "Hello there, How are you? Fine!! @xyz" 

、出力は私がPatternクラスとMatcherクラスで試してみましたが、それは唯一のあなたがを使用することができ、パターンとstr.replace(".","myWord");

+0

あなたはカーリー内のシンボルのすべての出現箇所を意味します大括弧、または中括弧も置き換えたいシンボルですか? –

+0

あまりにも中括弧を削除したい... –

+0

回答ありがとう –

答えて

2

の1種類を置き換え

Output = "Hello there myWord How are you myWord Fine myWord myWord myWord xyz" 

だろう

\\s*[^\\w\\s]\\s*\\s*

[^\\w\\s]一個の以上のスペースを意味:^\\w\\s

\\w意味a-zA-Z0-9_

\\sスペースを意味


をキャプチャしていません
String s="Hello there, How are you? Fine!! @xyz"; 
    System.out.println(s.replaceAll("\\s*[^\\w\\s]\\s*", " myWord ")); 

出力:

Hello there myWord How are you myWord Fine myWord myWord myWord xyz 


デモbrso05 @で指摘したように、単に、この[]内など\\s*[^\\w\\s:;\\[\\]]\\s*を追加し、その後に交換すべきではない、他の特殊文字を、避けるために

const regex = /\s*[^\w\s\]\[;]\s*/g; 
 
const str = `Hello there, How are you? Fine!! ; @xyz []`; 
 
const subst = ` myWord `; 
 
const result = str.replace(regex, subst); 
 
console.log(result);

0

あなたはこのような何かを行うことができます。

String str = "Hello there, How are you? Fine!! @xyz"; 
    str = str.replaceAll("[\\{\\.\\?!\"><',/\\\\\\|@#$%^&\\*~`\\-_=+\\}]", "myWord"); 
    System.out.println(str); 

出力:

こんにちはtheremyWord youmyWord FinemyWordmyWord myWordxyzある方法

+1

なぜ正しい答えをdownvote? http://stackoverflow.com/help/privileges/vote-down – brso05

関連する問題