从Java中的字符串中删除前导零

在Java中,有很多方法可以从字符串中删除前导零。在这里,我们将使用String和Arrays类的一些基本功能,以从字符串中删除前导零。

因此,此方法首先将字符串转换为字符数组,以便对字符串中每个字符的求值变得更简单。现在,比较每个字符并找到第一个非零字符似乎很简单。但是这里有一个限制,在Java中,数组没有equals方法来比较它的值,因此这里我们将使用valueOf()String类的方法来比较每个字符。

现在我们获得了字符串中第一个非零数字的位置,剩下的唯一事情就是将数组修剪到第一个非零数字的位置。对于这种使用copyOfRange()三个参数的使用方法,一个是原始数组,第二个是要开始复制的位置,第三个是要复制到的位置。

示例

public class RemoveLeadingZeroes {
   public static void main(String[] args) {
      String str = "00099898979";
      int arrayLength = 0;
      char[] array = str.toCharArray();
      arrayLength = array.length;
      int firstNonZeroAt = 0;
      for(int i=0; i<array.length; i++) {
         if(!String.valueOf(array[i]).equalsIgnoreCase("0")) {
            firstNonZeroAt = i;
            break;
         }
      }
      System.out.println("first non zero digit at : " +firstNonZeroAt);
      char [] newArray = Arrays.copyOfRange(array, firstNonZeroAt,arrayLength);
      String resultString = new String(newArray);
      System.out.println(resultString);
   }
}

输出结果

使用以下文本创建的myCSV.csv文件

first non zero digit at : 3
99898979