JBBPUtils { public static String removeLeadingZeros(final String str) { String result = str; if (str != null && str.length() != 0) { int startIndex = 0; while (startIndex < str.length() - 1) { final char ch = str.charAt(startIndex); if (ch != '0') { break; } startIndex++; } if (startIndex > 0) { result = str.substring(startIndex); } } return result; } private  JBBPUtils(); static byte[] strToUtf8(final String str); static String utf8ToStr(final byte[] array); static boolean isNumber(final String num); static byte[] packInt(final int value); static int packInt(final byte[] array, final JBBPIntCounter position, final int value); static int unpackInt(final byte[] array, final JBBPIntCounter position); static String array2hex(final byte[] array); static String array2bin(final byte[] array); static String array2oct(final byte[] array); static String byteArray2String(final byte[] array, final String prefix, final String delimiter, final boolean brackets, final int radix); static byte reverseBitsInByte(final byte value); static byte reverseBitsInByte(final JBBPBitNumber bitNumber, final byte value); static String bin2str(final byte[] values); static String bin2str(final byte[] values, final boolean separateBytes); static String bin2str(final byte[] values, final JBBPBitOrder bitOrder, final boolean separateBytes); static List<JBBPAbstractField> fieldsAsList(final JBBPAbstractField... fields); static byte[] str2bin(final String values); static byte[] str2bin(final String values, final JBBPBitOrder bitOrder); static String[] splitString(final String str, final char splitChar); static void assertNotNull(final Object object, final String message); static String int2msg(final int number); static String normalizeFieldNameOrPath(final String nameOrPath); static void closeQuietly(final Closeable closeable); static byte[] str2UnicodeByteArray(final JBBPByteOrder byteOrder, final String str); static byte[] reverseArray(final byte[] nullableArrayToBeInverted); static byte[] splitInteger(final int value, final boolean valueInLittleEndian, final byte[] buffer); static byte[] splitLong(final long value, final boolean valueInLittleEndian, final byte[] buffer); static byte[] concat(final byte[]... arrays); static long reverseByteOrder(long value, int numOfLowerBytesToInvert); static String double2str(final double doubleValue, final int radix); static String float2str(final float floatValue, final int radix); static String ulong2str(final long ulongValue, final int radix, final char[] charBuffer); static String ensureMinTextLength(final String text, final int neededLen, final char ch, final int mode); static String removeLeadingZeros(final String str); static String removeTrailingZeros(final String str); static boolean arrayStartsWith(final byte[] array, final byte[] str); static boolean arrayEndsWith(final byte[] array, final byte[] str); static int makeMask(final int value); static boolean equals(final Object o1, final Object o2); static final String[] ARRAY_STRING_EMPTY; static final JBBPAbstractField[] ARRAY_FIELD_EMPTY; }
@Test public void testRemoveLeadingZeros() throws Exception { assertNull(JBBPUtils.removeLeadingZeros(null)); assertEquals("", JBBPUtils.removeLeadingZeros("")); assertEquals("abcdf", JBBPUtils.removeLeadingZeros("abcdf")); assertEquals("abcdf", JBBPUtils.removeLeadingZeros("000000abcdf")); assertEquals("a00000bcdf0000000", JBBPUtils.removeLeadingZeros("000000a00000bcdf0000000")); assertEquals("0", JBBPUtils.removeLeadingZeros("0000000")); assertEquals("0", JBBPUtils.removeLeadingZeros("0")); assertEquals(" ", JBBPUtils.removeLeadingZeros("0 ")); assertEquals(" 000000 ", JBBPUtils.removeLeadingZeros(" 000000 ")); }