Java实现:在字符串第n个逗号出现位置后追加指定字符串
在Java字符串指定逗号位置后追加新字符串的实现方法
嗨,刚学Java不用发愁,这个需求其实很容易搞定!我来一步步给你讲清楚怎么实现,代码也给你写好,你可以直接拿去测试~
需求回顾
你有这样两个字符串:
String s = "17.4755,2.0585,23.6489,12.0045"; String s1 = ",,,,";
想要在s中第n个逗号(,)出现的位置之后,追加字符串s1。
实现思路
核心就是找到第n个逗号的位置,然后把原字符串拆成两部分,再把s1插进去就行:
- 循环查找逗号的位置,计数直到找到第
n个逗号; - 处理边界情况(比如
n比原字符串里的逗号总数还大,这时候直接把s1加到末尾就行); - 拼接新字符串:前半部分(到第
n个逗号) +s1+ 后半部分(第n个逗号之后的内容)。
完整代码示例
public class StringInsertDemo { public static void main(String[] args) { String s = "17.4755,2.0585,23.6489,12.0045"; String s1 = ",,,,"; int n = 2; // 这里可以改成你想要的第n个逗号,比如1、2、3 // 找到第n个逗号的位置 int commaCount = 0; int targetIndex = -1; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == ',') { commaCount++; if (commaCount == n) { targetIndex = i; break; } } } String result; if (targetIndex != -1) { // 找到目标逗号,拼接新字符串 result = s.substring(0, targetIndex + 1) + s1 + s.substring(targetIndex + 1); } else { // 没找到第n个逗号,直接把s1加到末尾 result = s + s1; System.out.println("注意:原字符串中只有" + commaCount + "个逗号,已将s1追加到字符串末尾"); } System.out.println("原字符串:" + s); System.out.println("新字符串:" + result); } }
代码解释
- 查找目标逗号:用循环遍历字符串的每个字符,每碰到一个逗号就计数,当计数等于
n时,记录这个逗号的位置targetIndex; - 字符串拆分与拼接:用
substring方法把原字符串分成两部分,substring(0, targetIndex + 1)是从开头到目标逗号(包含逗号)的部分,substring(targetIndex + 1)是逗号之后的部分,把这两部分和s1拼起来就是结果; - 边界处理:如果
n太大(比如原字符串只有3个逗号,你要找第5个),程序会提示你,并把s1直接加到原字符串末尾,避免报错。
比如当n=2时,运行结果是:
原字符串:17.4755,2.0585,23.6489,12.0045 新字符串:17.4755,2.0585,,,,23.6489,12.0045
这样是不是就完全满足你的需求啦?如果还有其他疑问,随时问哦~
内容的提问来源于stack exchange,提问作者user9880920
相关产品推荐
相关产品推荐

