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. | | |