-3

私が達成したいのは、単語の最初と最後の文字を除いて、文をアンダースコアに置き換えることです。

例:

I am walking

に:

I am w_____g

これは正規表現で可能ですか?

4

2 に答える 2

0

この答えはうまくいくはずです。将来的には、質問をもう少し詳しくして、あなたが試したことを教えてください。そうすれば、人々はもっと喜んで助けてくれます;)

public static void main(String[] args) {
    System.out.println(replaceAll("Hello", '_'));

    String sentence = "Hello Mom What Is For Dinner?";
    StringBuilder sentenceReformed = new StringBuilder();

    for (String word : sentence.split(" ")) {
        sentenceReformed.append(replaceAll(word, '_'));
        sentenceReformed.append(" ");
    }

    System.out.println(sentenceReformed);
}

public static String replaceAll(String word, char replacer) {
    StringBuilder ret = new StringBuilder();
    if (word.length()>2) {
        ret.append(word.charAt(0));
        for (int i = 1; i < word.length() - 1; i++) {
            ret.append(replacer);
        }
        ret.append(word.charAt(word.length() - 1));
        return ret.toString();
    }

    return word;
}

外:

H__o
H___o M_m W__t Is F_r D_____? 
于 2013-05-28T21:54:17.120 に答える