Tokenizer Utils : String « Date Type « Android






Tokenizer Utils

    
/* 
   Copyright 2010 Cesar Valiente Gordo
 
   This file is part of QuiteSleep.

    QuiteSleep is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    QuiteSleep 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 General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with QuiteSleep.  If not, see <http://www.gnu.org/licenses/>.
*/

package es.cesar.quitesleep.utils;

import java.util.StringTokenizer;

import android.util.Log;

/**
 * 
 * @author Cesar Valiente Gordo
 * @mail cesar.valiente@gmail.com
 *
 */
public class TokenizerUtils {
  
  private final static String CLASS_NAME = "es.cesar.quitesleep.utils.TokenizerUtils";
  
  public static void main (String[] args) {
    
    
    final String PHONE = "6-76-10--4-15-9";
    String newPhone = tokenizerPhoneNumber(PHONE, null);
    
    //Log.e("tokens", "OldPhone: " + PHONE + "NewPhone: " + newPhone);
    System.out.println("OldPhone: " + PHONE + " NewPhone: " + newPhone);
      
  }
  

  /**
   * Tokenize the passed phoneNumber erasing the string separator and return
   * the phone number whitout these.
   * 
   * @param       phoneNumber
   * @param       delim
   * @return      the new String without the delim chars
   * @see        String
   */
  public static String tokenizerPhoneNumber (
      String phoneNumber, 
      String delim)  {
    
    final String DEFAULT_DELIM = "-";
    
    try {
      
      //If not delim has been specified, put the default delim
      if (delim == null)
        delim = DEFAULT_DELIM;
      
      //If phone number is different from null we parse it.
      if (phoneNumber != null) {
        
        /* Separate the phone number into tokens which the delim string 
         * is the "separate word"
         */
        StringTokenizer tokenizer = new StringTokenizer(phoneNumber, delim);
      
        String phoneNumberWithoutDelim = "";
        while (tokenizer.hasMoreTokens()) 
          phoneNumberWithoutDelim = phoneNumberWithoutDelim + tokenizer.nextToken();
              
        return phoneNumberWithoutDelim;
      }
      return null;
      
    }catch (Exception e) {
      if (QSLog.DEBUG_E)QSLog.e(CLASS_NAME, ExceptionUtils.exceptionTraceToString(
          e.toString(), 
          e.getStackTrace()));
      return null;
    }        
  }    
  
  /**
   * Add an increase of hours to the time passed, if the delim parameter is null
   * we use the default parameter ":"
   * 
   * @param     time
   * @param     increase
   * @param     delim
   * @return    the new time with the increase done
   * @see      String
   */
  public static String addIncreaseDate (String time, int increase, String delim) {
    
    try {
      final String DEFAULT_DELIM = ":";
      
      if (delim == null)
        delim = DEFAULT_DELIM;
      
      if (time != null) {
        /* Separate the time into tokens which the delim string 
         * is the "separate word"
         */
        StringTokenizer tokenizer = new StringTokenizer(time, delim);
      
        if (QSLog.DEBUG_D)QSLog.d(CLASS_NAME, "count tokens: " + tokenizer.countTokens());
        if (tokenizer.countTokens() == 2) {
        
          String hourString = tokenizer.nextToken();          
          String minStrig = tokenizer.nextToken();
          
          if (QSLog.DEBUG_D)QSLog.d(CLASS_NAME, "hourString: " + hourString + "\tminString: " + minStrig);
          
          int hour = Integer.valueOf(hourString);
          String completeNewTime = String.valueOf(hour + increase) + ":" + minStrig;
              
          if (QSLog.DEBUG_D)QSLog.d(CLASS_NAME, "new time: " + completeNewTime);
          return completeNewTime;
        }        
      } else {
        if (QSLog.DEBUG_D)QSLog.d(CLASS_NAME, "time == null");
        return null;
      }
      return null;
                  
    }catch (Exception e) {
      if (QSLog.DEBUG_E)QSLog.e(CLASS_NAME, ExceptionUtils.exceptionTraceToString(
          e.toString(), 
          e.getStackTrace()));
      return null;
    }
  }
  
  
  
}

   
    
    
    
  








Related examples in the same category

1.Split with
2.Split first with
3.split By Space and save result to a List
4.Space trim
5.truncate by length
6.Remove all blanks
7.Is a string a Number
8.Random string
9.Tokenizer. Why? Because StringTokenizer is not available in J2ME.
10.String resource
11.Shows creating text with links from HTML in the Java code, rather than from a string resource. Note that for a
12.Join a collection of strings by a seperator
13.Tests if a string is blank: null, emtpy, or only whitespace (" ", \r\n, \t, etc)
14.Tests if a string is numeric, i.e. contains only digit characters
15.Writer implementation that outputs to a StringBuilder
16.Gets the device's phone number as a String.
17.Inspects a link Configuration through reflection API to generate a human readable String with values replaced with their constants names.
18.Returns a String representation of the content of a android.view.Display object.
19.Get String Element Value
20.Join strings
21.Find two consecutive newlines in a string.
22.Retrieve a boolean primitive type from a String.
23.Trim char from string
24.Returns true if the string does not fit in standard ASCII
25.Returns true if the given string is null or empty.
26.4 octets in address string
27.Add space to CSV string
28.String fast Split
29.Split a String by a Character, i.e. Split lines by using '\n'
30.String Capitalizer
31.Count char in a string
32.Search char in a string from a starting position
33.load String From Raw Resource
34.Join Collection of String
35.Padding a string, truncate a string
36.Converts a string to title casing.
37.reversing String
38.load Resource To String
39.convert Duration to String
40.Convert string from one encoding to another
41.Object to String and String to Object
42.IP to String
43.Convert string to bumber and convert number to string
44.line string reader in J2ME
45.String to Map with token
46.Generate the client id, which is a fixed string of length 8 concatenated with 12 random bytes
47.StringBuilder Writer
48.Return a specific raw resource contents as a String value.
49.Returns the ISO 8601-format String corresponding to the given duration (measured in milliseconds).
50.Returns a string representation of the given number of nanoseconds.
51.Simple Tokenizer
52.split By Space
53.Pad Front
54.Count Occurrences
55.Padding Left
56.captalize Words
57.Returns space padding
58.Normalise Whitespace
59.Removes unwanted blank characters
60.Removes unwanted backslashes characters
61.equals Ignore Case
62.A method to decode/encode quoted printable encoded data
63.Title Name Parser
64.Split Camal Case
65.Split and combine by token
66.Shorten text for display in lists etc.