java - 尝试用问号替换字符串中的字母,但继续用问号替换空格
问题描述
我正在尝试写一些东西来将字符串中的所有字母替换msg
为问号。但是,当我运行我的程序时,它也会用问号替换空格。在我的 if 语句中,如果它是一个字母而不是空格,我想用 ? 替换。
public static void main(String[] args) {
String msg = "FIG PKWC OIE GJJCDVKLC MCVDFJEHIY BIDRHYO.\n";
int i;
char let;
for (i = 0; i < 43; ++i) {
let = msg.charAt(i);
if ( (Character.isLetter(let)) && ! (Character.isWhitespace(let)) ) {
System.out.print('?');
}
}
}
我的输出是:????????????????????????????????????
有什么建议吗?
解决方案
目前你只打印'?如果当前字符应替换为“?”,否则不打印任何内容。
您还应该打印未被“?”替换的原始字符:
for (i = 0; i < msg.length(); ++i) {
let = msg.charAt(i);
if ( (Character.isLetter(let)) && ! (Character.isWhitespace(let)) ) {
System.out.print('?');
} else {
System.out.print(let);
}
}
推荐阅读
- android - 在这个例子中,我可以在 Textview2 上放置 TextView1 吗?
- regex - 拆分一个字符串,只取 5 个项目。但将字符限制为 <20
- python - Mysql表格列变成按钮,可以吗?
- azure - 如何指定 BlobTrigger 绑定以使容器名称可配置?
- arrays - Laravel 为数字字段返回一个空数组
- linux - 使用 sed 在 Bash 中解析 HTML 表格
- vue.js - Vuetify 断点在 Nuxt.js 中不起作用
- python - pytorch DataLoader 中的管道损坏
- reactjs - React,如何调试(axios)404错误?
- wpf - WPF RibbonTabHeader 样式绑定到 RibbonTab 属性