0

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

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

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

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

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

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

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

4

4 回答 4

0

你不能搜索整个字符串吗?第一个参数有三个空格,第二个参数有两个空格

replaceAll("ABC   123", "ABC  123");

或者如果 ABC 是您的关键输入

replaceAll("ABC   ", "ABC  ");

第一个参数有 3 个空格,后两个在 ABC 之后

于 2012-09-18T19:02:42.527 回答
0

由于您知道要删除的字符串 s 的位置 n(从零开始):

s = s.substring(0, n) + s.substring(n + 1);
于 2012-09-18T19:05:27.400 回答
0

您可以将字符串转换为 char 数组并循环它,但这不是一个好方法。

或者你可以这样做:

myString = myString.substring(0,(position of first space))+
                myString.substring((position of first space)+1, myString.length);

或类似的东西

于 2012-09-18T19:05:51.083 回答
0

如果要删除单个字符,只需使用StringBuilder.deleteCharAt.

final int pos = ...;
str = new StringBuilder(str).deleteCharAt(pos).toString();

我明确建议你要这样做substring

于 2012-09-18T19:19:25.100 回答