我正在读取文本文件中的每一行,对文件执行一些操作并使用Java写回同一文件。并且,行中每个值的位置(索引)很重要。所以我需要保留每个值的位置。
如何删除特定位置(索引)的“空格”字符?
说,下面是我读过的那一行,
.... ABC 123.... --There are 3 spaces between ABC and 123
基本上,我想将上面的行写成ABC和123之间的2个空格。
起初,我只是使用了String的replaceAll,但只是将值向右移动了一个仍然是3个空格。所以,我认为我需要的不仅仅是replaceAll。
现在,我找到了ABC所在的位置,并试图删除该1个空格。
答案 0 :(得分:0)
你能不搜索整个字符串吗?第一个参数有三个空格,第二个参数有两个空格
replaceAll("ABC 123", "ABC 123");
或ABC是您的关键输入
replaceAll("ABC ", "ABC ");
并且第一个参数有3个空格,第二个参数有ABC
答案 1 :(得分:0)
因为您知道要删除的字符串s的位置n(从零开始):
s = s.substring(0, n) + s.substring(n + 1);
答案 2 :(得分:0)
您可以将您的字符串转换为char数组并循环它,但这不是一个很好的方法。
或者你可以这样做:
myString = myString.substring(0,(position of first space))+
myString.substring((position of first space)+1, myString.length);
或类似的东西
答案 3 :(得分:0)
如果您想删除单个字符,请使用StringBuilder.deleteCharAt
。
final int pos = ...;
str = new StringBuilder(str).deleteCharAt(pos).toString();
我明确建议您不执行substring
方法。