Center the contents of the string. : String format « Data Type « Java






Center the contents of the string.

        
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/*
 * JBoss DNA (http://www.jboss.org/dna)
 * See the COPYRIGHT.txt file distributed with this work for information
 * regarding copyright ownership.  Some portions may be licensed
 * to Red Hat, Inc. under one or more contributor license agreements.
 * See the AUTHORS.txt file in the distribution for a full listing of 
 * individual contributors.
 *
 * JBoss DNA is free software. Unless otherwise indicated, all code in JBoss DNA
 * is licensed to you under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation; either version 2.1 of
 * the License, or (at your option) any later version.
 *
 * JBoss DNA is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */

/**
 * Utilities for string processing and manipulation.
 */
public class StringUtil {


  /**
   * Center the contents of the string. If the supplied string is longer than the desired width, it is truncated to the
   * specified length. If the supplied string is shorter than the desired width, padding characters are added to the beginning
   * and end of the string such that the length is that specified; one additional padding character is prepended if required.
   * All leading and trailing whitespace is removed before centering.
   * 
   * @param str the string to be left justified; if null, an empty string is used
   * @param width the desired width of the string; must be positive
   * @param padWithChar the character to use for padding, if needed
   * @return the left justified string
   * @see #setLength(String, int, char)
   */
  public static String justifyCenter( String str,
                                      final int width,
                                      char padWithChar ) {
      // Trim the leading and trailing whitespace ...
      str = str != null ? str.trim() : "";

      int addChars = width - str.length();
      if (addChars < 0) {
          // truncate
          return str.subSequence(0, width).toString();
      }
      // Write the content ...
      int prependNumber = addChars / 2;
      int appendNumber = prependNumber;
      if ((prependNumber + appendNumber) != addChars) {
          ++prependNumber;
      }

      final StringBuilder sb = new StringBuilder();

      // Prepend the pad character(s) ...
      while (prependNumber > 0) {
          sb.append(padWithChar);
          --prependNumber;
      }

      // Add the actual content
      sb.append(str);

      // Append the pad character(s) ...
      while (appendNumber > 0) {
          sb.append(padWithChar);
          --appendNumber;
      }

      return sb.toString();
  }

}

   
    
    
    
    
    
    
    
  








Related examples in the same category

1.Fmt - format text (like Berkeley UNIX fmt)
2.Demonstrate some usage patterns and format-code examples of the FormatterDemonstrate some usage patterns and format-code examples of the Formatter
3.String.format(): right pad a string
4.String.format(): left pad a string
5.Format a String (JDK1.5)
6.Pass value array to String.format()
7.Format Calendar with String.format()
8.Abbreviates a String using ellipses in both sides.
9.Abbreviates a String using ellipses.
10.Abbreviate string
11.Word Wrap
12.Centers a String in a larger String of size size using the space character (' ').
13.Centers a String in a larger String of size size. Uses a supplied String as the value to pad the String with.
14.Centers a String in a larger String of size size. Uses a supplied character as the value to pad the String with.
15.Capitalize the first character of the given string
16.Capitalize the first letter but leave the rest as they are.
17.Capitalizes a String changing the first letter to title case as Character.toTitleCase(char). No other letters are changed.
18.Format strings into table
19.Truncate the supplied string to be no more than the specified length.
20.Replace, remove, format strings
21.Adds spaces in suitable locations of the input string
22.Blank string: empty or white space
23.Capital and uncapital strings
24.Capitalizes the first character of the given string
25.Utilities for String formatting, manipulation, and queries
26.Fast lower case conversion
27.Format a percentage for presentation to the user
28.Left justify the contents of the string, ensuring that the supplied string begins at the first character and that the resulting string is of the desired length.
29.Transforms words to singular, plural, humanized (human readable), underscore, camel case, or ordinal form
30.Escapes all necessary characters in the String so that it can be used in SQL
31.Escapes all necessary characters in the String so that it can be used in an XML doc
32.Adds zeros to the beginning of a value so that the total length matches the given precision, otherwise trims the right digits.
33.Right justify string, ensuring that the string ends at the last character
34.Makes the first letter caps and the rest lowercase.
35.Quote a string so that it can be used as an identifier or a string literal in SQL statements.
36.Remove the hyphens from the begining of str and return the new String.
37.Swaps the case of a String changing upper and title case to lower case, and lower case to upper case.
38.Uncapitalizes a String changing the first letter to title case as per Character.toLowerCase(char). No other letters are changed.
39.Capitlize each word in a string (journal titles, etc)
40.Uncapitalize String
41.Utility inserts a space before every caps in a string
42.convert String array To Comma Delimited
43.Constructs a method name from element's bean name for a given prefix
44.break Lines
45.Limit the string to a certain number of characters, adding "..." if it was truncated
46.Capicalizes the first letter of a string
47.Add delimiters to a string.
48.Get Truncated String
49.Convert to $(Dollars) string
50.Convert string to multiline
51.Deletes all whitespace from a String.
52.Trim string from left or right
53.implode and explode string
54.To Upper Case First Char
55.Left trim and right trim
56.capitalize and uncapitalize