Class Utils
- java.lang.Object
-
- org.schabi.newpipe.extractor.utils.Utils
-
public final class Utils extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidcheckUrl(java.lang.String pattern, java.lang.String url)Check if the url matches the pattern.static voidcheckUrl(java.util.regex.Pattern pattern, java.lang.String url)Check if the url matches the pattern.static java.lang.StringdecodeUrlUtf8(java.lang.String url)Decodes a URL using the UTF-8 character set.static java.lang.StringencodeUrlUtf8(java.lang.String string)Encodes a string to URL format using the UTF-8 character set.static java.lang.StringfollowGoogleRedirectIfNeeded(java.lang.String url)If the provided url is a Google search redirect, then the actual url is extracted from theurl=query value and returned, otherwise the original url is returned.static java.lang.StringgetBaseUrl(java.lang.String url)static java.lang.StringgetQueryValue(java.net.URL url, java.lang.String parameterName)Get the value of a URL-query by name.static java.lang.StringgetStringResultFromRegexArray(java.lang.String input, java.lang.String[] regexes)Find the result of an array of string regular expressions inside an input on the first group (0).static java.lang.StringgetStringResultFromRegexArray(java.lang.String input, java.lang.String[] regexes, int group)Find the result of an array of string regular expressions inside an input on a specific group.static java.lang.StringgetStringResultFromRegexArray(java.lang.String input, java.util.regex.Pattern[] regexes)Find the result of an array ofPatterns inside an input on the first group (0).static java.lang.StringgetStringResultFromRegexArray(java.lang.String input, java.util.regex.Pattern[] regexes, int group)Find the result of an array ofPatterns inside an input on a specific group.static booleanisBlank(java.lang.String string)static booleanisHTTP(java.net.URL url)static booleanisNullOrEmpty(java.lang.String str)static booleanisNullOrEmpty(java.util.Collection<?> collection)Checks if a collection is null or empty.static <K,V>
booleanisNullOrEmpty(java.util.Map<K,V> map)Checks if amapis null or empty.static java.lang.Stringjoin(java.lang.String delimiter, java.lang.String mapJoin, java.util.Map<? extends java.lang.CharSequence,? extends java.lang.CharSequence> elements)static longmixedNumberWordToLong(java.lang.String numberWord)Convert a mixed number word to a long.static java.lang.StringnonEmptyAndNullJoin(java.lang.CharSequence delimiter, java.lang.String... elements)Concatenate all non-null, non-empty and strings which are not equal to"null".static java.lang.StringremoveMAndWWWFromUrl(java.lang.String url)static java.lang.StringremoveNonDigitCharacters(java.lang.String toRemove)Remove all non-digit characters from a string.static java.lang.StringremoveUTF8BOM(java.lang.String s)static java.lang.StringreplaceHttpWithHttps(java.lang.String url)static java.net.URLstringToURL(java.lang.String url)Convert a string to aURL object.
-
-
-
Field Detail
-
HTTP
public static final java.lang.String HTTP
- See Also:
- Constant Field Values
-
HTTPS
public static final java.lang.String HTTPS
- See Also:
- Constant Field Values
-
-
Method Detail
-
encodeUrlUtf8
public static java.lang.String encodeUrlUtf8(java.lang.String string)
Encodes a string to URL format using the UTF-8 character set.- Parameters:
string- The string to be encoded.- Returns:
- The encoded URL.
-
decodeUrlUtf8
public static java.lang.String decodeUrlUtf8(java.lang.String url)
Decodes a URL using the UTF-8 character set.- Parameters:
url- The URL to be decoded.- Returns:
- The decoded URL.
-
removeNonDigitCharacters
@Nonnull public static java.lang.String removeNonDigitCharacters(@Nonnull java.lang.String toRemove)Remove all non-digit characters from a string.Examples:
- 1 234 567 views -> 1234567
- $31,133.124 -> 31133124
- Parameters:
toRemove- string to remove non-digit chars- Returns:
- a string that contains only digits
-
mixedNumberWordToLong
public static long mixedNumberWordToLong(java.lang.String numberWord) throws java.lang.NumberFormatException, ParsingExceptionConvert a mixed number word to a long.Examples:
- 123 -> 123
- 1.23K -> 1230
- 1.23M -> 1230000
- Parameters:
numberWord- string to be converted to a long- Returns:
- a long
- Throws:
java.lang.NumberFormatExceptionParsingException
-
checkUrl
public static void checkUrl(java.lang.String pattern, java.lang.String url) throws ParsingExceptionCheck if the url matches the pattern.- Parameters:
pattern- the pattern that will be used to check the urlurl- the url to be tested- Throws:
ParsingException
-
checkUrl
public static void checkUrl(java.util.regex.Pattern pattern, java.lang.String url) throws ParsingExceptionCheck if the url matches the pattern.- Parameters:
pattern- the pattern that will be used to check the urlurl- the url to be tested- Throws:
ParsingException
-
replaceHttpWithHttps
public static java.lang.String replaceHttpWithHttps(java.lang.String url)
-
getQueryValue
@Nullable public static java.lang.String getQueryValue(@Nonnull java.net.URL url, java.lang.String parameterName)Get the value of a URL-query by name.If an url-query is give multiple times, only the value of the first query is returned.
- Parameters:
url- the url to be usedparameterName- the pattern that will be used to check the url- Returns:
- a string that contains the value of the query parameter or
nullif nothing was found
-
stringToURL
@Nonnull public static java.net.URL stringToURL(java.lang.String url) throws java.net.MalformedURLExceptionConvert a string to aURL object.Defaults to HTTP if no protocol is given.
- Parameters:
url- the string to be converted to a URL-Object- Returns:
- a
URL objectcontaining the url - Throws:
java.net.MalformedURLException
-
isHTTP
public static boolean isHTTP(@Nonnull java.net.URL url)
-
removeMAndWWWFromUrl
public static java.lang.String removeMAndWWWFromUrl(java.lang.String url)
-
removeUTF8BOM
@Nonnull public static java.lang.String removeUTF8BOM(@Nonnull java.lang.String s)
-
getBaseUrl
@Nonnull public static java.lang.String getBaseUrl(java.lang.String url) throws ParsingException- Throws:
ParsingException
-
followGoogleRedirectIfNeeded
public static java.lang.String followGoogleRedirectIfNeeded(java.lang.String url)
If the provided url is a Google search redirect, then the actual url is extracted from theurl=query value and returned, otherwise the original url is returned.- Parameters:
url- the url which can possibly be a Google search redirect- Returns:
- an url with no Google search redirects
-
isNullOrEmpty
public static boolean isNullOrEmpty(java.lang.String str)
-
isNullOrEmpty
public static boolean isNullOrEmpty(java.util.Collection<?> collection)
Checks if a collection is null or empty.This method can be also used for
JsonArrays.- Parameters:
collection- the collection on which check if it's null or empty- Returns:
- whether the collection is null or empty
-
isNullOrEmpty
public static <K,V> boolean isNullOrEmpty(java.util.Map<K,V> map)
Checks if amapis null or empty.This method can be also used for
JsonObjects.- Parameters:
map- themapon which check if it's null or empty- Returns:
- whether the
mapis null or empty
-
isBlank
public static boolean isBlank(java.lang.String string)
-
join
@Nonnull public static java.lang.String join(java.lang.String delimiter, java.lang.String mapJoin, @Nonnull java.util.Map<? extends java.lang.CharSequence,? extends java.lang.CharSequence> elements)
-
nonEmptyAndNullJoin
@Nonnull public static java.lang.String nonEmptyAndNullJoin(java.lang.CharSequence delimiter, java.lang.String... elements)Concatenate all non-null, non-empty and strings which are not equal to"null".
-
getStringResultFromRegexArray
@Nonnull public static java.lang.String getStringResultFromRegexArray(@Nonnull java.lang.String input, @Nonnull java.lang.String[] regexes) throws Parser.RegexExceptionFind the result of an array of string regular expressions inside an input on the first group (0).- Parameters:
input- the input on which using the regular expressionsregexes- the string array of regular expressions- Returns:
- the result
- Throws:
Parser.RegexException- if none of the patterns match the input
-
getStringResultFromRegexArray
@Nonnull public static java.lang.String getStringResultFromRegexArray(@Nonnull java.lang.String input, @Nonnull java.util.regex.Pattern[] regexes) throws Parser.RegexExceptionFind the result of an array ofPatterns inside an input on the first group (0).- Parameters:
input- the input on which using the regular expressionsregexes- thePatternarray- Returns:
- the result
- Throws:
Parser.RegexException- if none of the patterns match the input
-
getStringResultFromRegexArray
@Nonnull public static java.lang.String getStringResultFromRegexArray(@Nonnull java.lang.String input, @Nonnull java.lang.String[] regexes, int group) throws Parser.RegexExceptionFind the result of an array of string regular expressions inside an input on a specific group.- Parameters:
input- the input on which using the regular expressionsregexes- the string array of regular expressionsgroup- the group to match- Returns:
- the result
- Throws:
Parser.RegexException- if none of the patterns match the input, or at least in the specified group
-
getStringResultFromRegexArray
@Nonnull public static java.lang.String getStringResultFromRegexArray(@Nonnull java.lang.String input, @Nonnull java.util.regex.Pattern[] regexes, int group) throws Parser.RegexExceptionFind the result of an array ofPatterns inside an input on a specific group.- Parameters:
input- the input on which using the regular expressionsregexes- thePatternarraygroup- the group to match- Returns:
- the result
- Throws:
Parser.RegexException- if none of the patterns match the input, or at least in the specified group
-
-