删除字符串中的空格字符

时间:2012-09-18 19:00:25

标签: java

我正在读取文本文件中的每一行,对文件执行一些操作并使用Java写回同一文件。并且,行中每个值的位置(索引)很重要。所以我需要保留每个值的位置。

如何删除特定位置(索引)的“空格”字符?

说,下面是我读过的那一行,

.... ABC   123....  --There are 3 spaces between ABC and 123

基本上,我想将上面的行写成ABC和123之间的2个空格。

起初,我只是使用了String的replaceAll,但只是将值向右移动了一个仍然是3个空格。所以,我认为我需要的不仅仅是replaceAll。

现在,我找到了ABC所在的位置,并试图删除该1个空格。

4 个答案:

答案 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方法。