java - 防止字符串的最后一个字符在java中替换的任何方法
问题描述
假设要?
在字符串中的每个字母之后添加。
String letters = "A@B@C@D"; //Split by @
String splitLetters[]=letters.split("@");
for(String ltr: splitLetters)
System.out.println(ltr+"?");
输出将如下所示:
A? B? C? D?
我想要的是防止最后一个字符得到改变。我只想更改第一个字母。
笔记:
用( ) 之类的直接方式@
替换是行不通的。上面的代码只是一个例子。?
...replace("@","?")
解决方案
有很多方法可以做到这一点(如现有答案中已经描述的那样)。以下解决方案基于您自己的解决方案,并进行了所需的更改:
public class Main {
public static void main(String[] args) {
String letters = "A@B@C@D"; // Split by @
String splitLetters[] = letters.split("@");
boolean firstStrPrinted = false;
for (String ltr : splitLetters) {
if (firstStrPrinted) {
System.out.print("?" + ltr);
} else {
System.out.print(ltr);
firstStrPrinted = true;
}
}
}
}
输出:
A?B?C?D
在这里,aboolean firstStrPrinted
用于跟踪是否已打印第一个字符串。如果不是,请不要打印?
并将其更新为true
.
推荐阅读
- mysql - 如何使用 codeigniter 在 mysql 几何列中插入多边形点?
- node.js - 如何阻止在multer中上传gif图像?
- angular - 如何验证角度步进器内的自动完成组件?
- node.js - 我该如何解决 npm ERR!错误:0909006C:Node.js 中的 PEM?
- javascript - firebase / 通过增加字段对文档进行排序
- spring - 使用 Thymeleaf Security 为匿名用户显示特定内容
- c# - 如何在 ASP.NET 中使用 GridView 将日期绘制成行?
- android - 支持 Android Q 中的库依赖项
- sql - 在 SQL 中总结每日信用费用
- react-native - 在抽屉导航器中卸载或重新渲染屏幕