在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