尝试更换字符串中的字符时出错

时间:2017-11-29 17:04:56

标签: java string methods

对于我的程序,我试图用星号替换单词中的所有元音。我已经编写了代码但在我试图替换这封信的行中继续收到错误。我收到的错误是"找不到符号"谁可以向我解释为什么我收到这个错误?

for(int index =0; index<=length;index++){
    Character vowel = firstName.charAt(index);
  if ((vowel == 'A') || (vowel == 'a') || (vowel == 'E') || (vowel == 'e') || (vowel == 'I') || (vowel == 'i')
      || (vowel == 'O') || (vowel == 'o') || (vowel == 'U') || (vowel == 'u')){
         vowel = vowel.replace( vowel, '*'); // error received here 
        } 
    }

3 个答案:

答案 0 :(得分:1)

为什么不这样做:

   firstName = firstName.replace(firstName.charAt(index), '*');

   firstName = firstName.replace(vowel, '*');

答案 1 :(得分:0)

元音是典型字符,没有.replace方法。不完全确定你想要获得什么,但你可能想要在名字中替换char:

 firstname.replace( vowel, '*'); 

答案 2 :(得分:0)

我更喜欢将单个正则表达式用于循环逻辑,并且可以使用?i来忽略大小写。基本上,匹配任何元音并替换为星号。像,

String firstName = "David";
System.out.println(firstName.replaceAll("(?i)[aeiou]", "*"));

输出

D*v*d