2017-03-27 13 views
0

タイトルには、特定の文字(この例では 'e')をその文字が文字列の先頭または末尾にある場合は削除したくありません。文字列の先頭と末尾にある文字を削除せずに、文字列から特定の文字を削除します。

import java.util.Scanner; 
public class RemoveE { 

public static void main(String[] args) { 
    // TODO Auto-generated method stub 

    String s; 
    String st; 

    Scanner in = new Scanner(System.in); 
    System.out.print("Enter string: "); 
    s = in.nextLine(); 


    st = s.replaceAll("e", ""); 

    System.out.println(st); 

} 

} 

答えて

0

非常に簡単な解決策は、その文字が先頭または末尾がある場合はあなたを伝える2つのブール変数を使用し、それらのすべてを削除し、ブール値がtrueの場合だけ戻ってそれらを追加することです。私は、これは願っています

boolean front = s.startsWith("e"); 
boolean end = s.endsWith("e"); 
s = s.replaceAll("e", ""); 

if(front) 
    s="e"+s; 
if(end) 
    s=s+"e"; 

は何が必要です

+0

がほとんどではなく、全く別ソリューション - フロントエンドとの両方が真なものかどうか? if文がstに追加されるべきであり、sに追加されるべきではありません。 – FredK

+0

あなたは正しいです。警告ありがとう、それは今修正されました – krikki13

0

st = s.length() < 3 ? s : s.charAt(0) + s.substring(1, s.length() - 1).replaceAll("e","") + s.charAt(s.length()-1); 
関連する問題