Package de.undercouch.citeproc.helper
Class StringHelper
- java.lang.Object
-
- de.undercouch.citeproc.helper.StringHelper
-
public class StringHelper extends Object
Helper methods related to Strings- Author:
- Michel Kraemer
-
-
Constructor Summary
Constructors Constructor Description StringHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static booleancontainsLatinScriptOnly(String s)Check if a string contains no other characters than those from the Unicode scripts "Latin", "Common", or "Inherited"static StringescapeJava(String s)Escapes characters in the given string according to Java rulesstatic StringinitializeName(String name, String initializeWith)Parse the given name, split it into parts, and convert them to initialsstatic StringinitializeName(String name, String initializeWith, boolean onlyNormalize)Parse the given name, split it into parts, and either convert them all to initials or only normalize existing initialsstatic intoverlap(CharSequence a, CharSequence b)Calculates how many characters overlap betweenaandb, i.e.static Stringsanitize(String s)Sanitizes a string so it can be used as an identifierstatic StringtoTitleCase(String str)Converts the words in a given string to title case (according to the CSL specification)
-
-
-
Method Detail
-
sanitize
public static String sanitize(String s)
Sanitizes a string so it can be used as an identifier- Parameters:
s- the string to sanitize- Returns:
- the sanitized string
-
escapeJava
public static String escapeJava(String s)
Escapes characters in the given string according to Java rules- Parameters:
s- the string to escape- Returns:
- the escpaped string
-
overlap
public static int overlap(CharSequence a, CharSequence b)
Calculates how many characters overlap between
aandb, i.e. how many characters at the end ofaare equal to the ones at the beginning ofb.Examples:
overlap("abcd", "cdef") = 2 overlap("abcd", "xyz") = 0 overlap("a", "a") = 1 overlap("ab", "b") = 1 overlap("abcd", "bcdefg") = 3 overlap("", "a") = 0 overlap("a", "") = 0- Parameters:
a- the first stringb- the second string- Returns:
- the number of overlapping characters
-
toTitleCase
public static String toTitleCase(String str)
Converts the words in a given string to title case (according to the CSL specification)- Parameters:
str- the string to convert- Returns:
- the converted string
-
containsLatinScriptOnly
public static boolean containsLatinScriptOnly(String s)
Check if a string contains no other characters than those from the Unicode scripts "Latin", "Common", or "Inherited"- Parameters:
s- the string to check- Returns:
- if the string contains only latin, common, or inherited characters
-
initializeName
public static String initializeName(String name, String initializeWith)
Parse the given name, split it into parts, and convert them to initials- Parameters:
name- the name to convertinitializeWith- the string to append to each initial- Returns:
- the converted name
-
initializeName
public static String initializeName(String name, String initializeWith, boolean onlyNormalize)
Parse the given name, split it into parts, and either convert them all to initials or only normalize existing initials- Parameters:
name- the name to convertinitializeWith- the string to append to each initialonlyNormalize-trueif only existing initials should be normalized and uninitialized names should be kept as is- Returns:
- the converted name
-
-