Java Tutorial/Data Type/String Start End

Материал из Java эксперт
Перейти к: навигация, поиск

Accessing String Characters

   <source lang="java">

public class MainClass{

 public static void main(String[] arg){
   String str = "abcde";
   
   System.out.println(str.charAt(2));
 }

}</source>



c


Checking the End of a String

   <source lang="java">

public class MainClass {

 public static void main(String[] arg) {
   
   String string1 = "abcde";
   if(string1.endsWith("de")) {
     System.out.println("ends with de");
   }
 }

}</source>



ends with de


Checking the Start of a String

   <source lang="java">

public class MainClass {

 public static void main(String[] arg) {
   
   String string1 = "abcde";
   if(string1.startsWith("ab")) {
     System.out.println("starts with ab");
   }
 }

}</source>



starts with ab


Chop i characters off the end of a string.

   <source lang="java">

/*

* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.    
*/

import java.util.StringTokenizer;

/**

*
*  @author 
*  @version $Id: StringUtils.java 685685 2008-08-13 21:43:27Z nbubna $
*/

public class Main {

 /**
  * Line separator for the OS we are operating on.
  */
 private static final String EOL = System.getProperty("line.separator");
 /**
  * Chop i characters off the end of a string.
  * This method assumes that any EOL characters in String s
  * and the platform EOL will be the same.
  * A 2 character EOL will count as 1 character.
  *
  * @param s String to chop.
  * @param i Number of characters to chop.
  * @return String with processed answer.
  */
 public static String chop(String s, int i)
 {
     return chop(s, i, EOL);
 }
 /**
  * Chop i characters off the end of a string.
  * A 2 character EOL will count as 1 character.
  *
  * @param s String to chop.
  * @param i Number of characters to chop.
  * @param eol A String representing the EOL (end of line).
  * @return String with processed answer.
  */
 public static String chop(String s, int i, String eol)
 {
     if ( i == 0 || s == null || eol == null )
     {
        return s;
     }
     int length = s.length();
     /*
      * if it is a 2 char EOL and the string ends with
      * it, nip it off.  The EOL in this case is treated like 1 character
      */
     if ( eol.length() == 2 && s.endsWith(eol ))
     {
         length -= 2;
         i -= 1;
     }
     if ( i > 0)
     {
         length -= i;
     }
     if ( length < 0)
     {
         length = 0;
     }
     return s.substring( 0, length);
 }

}</source>





Removes separator from the end of str if it"s there, otherwise leave it alone.

   <source lang="java">

import java.io.PrintWriter; import java.sql.Connection; import java.sql.SQLException; /*

* 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
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*
*
*/

public class Main {

 /**
  * Removes separator from the end of
  * str if it"s there, otherwise leave it alone.
  *
  * NOTE: This method changed in version 2.0.
  * It now more closely matches Perl chomp.
  * For the previous behavior, use {@link #substringBeforeLast(String, String)}.
  * This method uses {@link String#endsWith(String)}.
  *
*
   * StringUtils.chomp(null, *)         = null
   * StringUtils.chomp("", *)           = ""
   * StringUtils.chomp("foobar", "bar") = "foo"
   * StringUtils.chomp("foobar", "baz") = "foobar"
   * StringUtils.chomp("foo", "foo")    = ""
   * StringUtils.chomp("foo ", "foo")   = "foo "
   * StringUtils.chomp(" foo", "foo")   = " "
   * StringUtils.chomp("foo", "foooo")  = "foo"
   * StringUtils.chomp("foo", "")       = "foo"
   * StringUtils.chomp("foo", null)     = "foo"
   * 
  *
  * @param str  the String to chomp from, may be null
  * @param separator  separator String, may be null
  * @return String without trailing separator, null if null String input
  */
 public static String chomp(String str, String separator) {
     if (isEmpty(str) || separator == null) {
         return str;
     }
     if (str.endsWith(separator)) {
         return str.substring(0, str.length() - separator.length());
     }
     return str;
 }
 // Empty checks
 //-----------------------------------------------------------------------
 /**
  * Checks if a String is empty ("") or null.
  *
*
   * StringUtils.isEmpty(null)      = true
   * StringUtils.isEmpty("")        = true
   * StringUtils.isEmpty(" ")       = false
   * StringUtils.isEmpty("bob")     = false
   * StringUtils.isEmpty("  bob  ") = false
   * 
  *
  * NOTE: This method changed in Lang version 2.0.
  * It no longer trims the String.
  * That functionality is available in isBlank().
  *
  * @param str  the String to check, may be null
  * @return true if the String is empty or null
  */
 public static boolean isEmpty(String str) {
     return str == null || str.length() == 0;
 }

}</source>





Remove the last character from a String.

   <source lang="java">

import java.io.PrintWriter; import java.sql.Connection; import java.sql.SQLException; /*

* 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
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*
*
*/

public class Main {

 /**
  * \u000a linefeed LF ("\n").
  * 
  * @see 
  * @since 2.2
  */
 public static final char CR = "\r";
 // Chopping
 //-----------------------------------------------------------------------
 /**
  * Remove the last character from a String.
  *
  * If the String ends in \r\n, then remove both
  * of them.
  *
*
   * 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")        = ""
   * 
  *
  * @param str  the String to chop last character from, may be null
  * @return String without last character, null if null String input
  */
 public static String chop(String str) {
     if (str == null) {
         return null;
     }
     int strLen = str.length();
     if (strLen < 2) {
         return "";
     }
     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;
 }
 // Empty checks
 //-----------------------------------------------------------------------
 /**
  * Checks if a String is empty ("") or null.
  *
*
   * StringUtils.isEmpty(null)      = true
   * StringUtils.isEmpty("")        = true
   * StringUtils.isEmpty(" ")       = false
   * StringUtils.isEmpty("bob")     = false
   * StringUtils.isEmpty("  bob  ") = false
   * 
  *
  * NOTE: This method changed in Lang version 2.0.
  * It no longer trims the String.
  * That functionality is available in isBlank().
  *
  * @param str  the String to check, may be null
  * @return true if the String is empty or null
  */
 public static boolean isEmpty(String str) {
     return str == null || str.length() == 0;
 }

}</source>