Here you can find the source of chop(String str)
Remove the last character from a String.
Parameter | Description |
---|---|
str | the String to chop last character from, may be null |
null
if null String input
public static String chop(String str)
//package com.java2s; /**/*from ww w .ja va 2s . c o m*/ * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 */ public class Main { /** * <code>\u000a</code> linefeed LF ('\n'). * * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#101089">JLF: Escape Sequences for Character and String * Literals</a> * @since 2.2 */ public static final char LF = '\n'; /** * <code>\u000d</code> carriage return CR ('\r'). * * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#101089">JLF: Escape Sequences for Character and String * Literals</a> * @since 2.2 */ public static final char CR = '\r'; /** * The empty String <code>""</code>. * * @since 2.0 */ public static final String EMPTY = ""; /** * <p> * Remove the last character from a String. * </p> * * <p> * If the String ends in <code>\r\n</code>, then remove both of them. * </p> * * <pre> * StringUtils.chop(null) = null * StringUtils.chop("") = "" * StringUtils.chop("abc \r") = "abc " * StringUtils.chop("abc\n") = "abc" * StringUtils.chop("abc\r\n") = "abc" * StringUtils.chop("abc") = "ab" * StringUtils.chop("abc\nabc") = "abc\nab" * StringUtils.chop("a") = "" * StringUtils.chop("\r") = "" * StringUtils.chop("\n") = "" * StringUtils.chop("\r\n") = "" * </pre> * * @param str the String to chop last character from, may be null * @return String without last character, <code>null</code> if null String input */ public static String chop(String str) { if (str == null) { return null; } int strLen = str.length(); if (strLen < 2) { return EMPTY; } int lastIdx = strLen - 1; String ret = str.substring(0, lastIdx); char last = str.charAt(lastIdx); if (last == LF) { if (ret.charAt(lastIdx - 1) == CR) { return ret.substring(0, lastIdx - 1); } } return ret; } }