Package Torello.Java
Class StrTokCmpr
- java.lang.Object
-
- Torello.Java.StrTokCmpr
-
public class StrTokCmpr extends java.lang.Object
Similar to class String-Compare, String-Token-Compare also provides an exhaustive suite of methods that extend the basic JavaString
methodsequals, contains, startsWith
andendsWith
, but further allowing a user to specify the match-string boundary-characters.
This class is identical toclass StrCmpr
- save one primary difference. The substrings that are tested must be surrounded by white-space, or by a specified character-delimiter test, before the comparison logic considers them to have matched.
StrTokCmpr =>
StrTok:
Token-Matches
are substring matches which are found inside a supplied'srcStr'
. These matches must be both fully contained within'srcStr'
, and have "match locations" (String
-index position in'srcStr'
where the token matches) that are bounded / 'surrounded' by either white-space (space-character'#32', '\n', '\r', etc
) or by characters that pass a user suppliedCharacter-Predicate test()
.
Cmpr:
Each of the methods in this class shall return anboolean
that indicates whether the input'srcStr'
matches the method's query-specifications. The various queries in this class are based on the presence or absence of a particularString
(parameter'token(s)'
) being inside anotherSource-String
(parameter'srcString'
).
Methods Available
Method-Name Key-Word Explanation NAND May not find any matches between the primary String srcStr
parameter, and theString's
inString... tokens
NAND-NOTE: There is one very important subtlety about the meaning of'NAND'
here. In this case, the methods that use'NAND'
interpret its meaning as "NOT ANY ONE OF..." - meaning all comparisons must fail.XOR Must find precisely one match between the primary String srcStr
parameter, and theString's
inString... tokens
.
There is one 'philosophical note' which is that if multiple copies of an identical-String
are passed via the comparison-String
array (String... tokens
), all XOR methods shall not pay heed to the notion that they the'srcStr'
parameter may have only started-with, ended-with or contained a singleString
(and 'philosophically passing' the XOR, one-and-only-one test). The internal-logical is 'programmatically ignorant' of this - multiple copies of an identical-String
(or identical, ignoring-case) could theoretically be flagged via throwing anIllegalArgumentException
. However, no such check is performed.OR Must find at least one match between the primary String srcStr
parameter, and theString's
in the'tokens'
parameter.AND Must identify a containing-match between each and every String
inString... tokens
and the primary'srcStr'
parameter.Starts With The provided token-String
must match each character at the beginning of theString
-parameter'srcStr'
. Furthermore, the character immediately after thetoken-String
in'srcStr'
must be either:
- White-space (matching
'\s'
) String
-terminus (matching'$'
)- In situations where an
extraDelimiterTest
has been passed to the method, characters that receive TRUE from the invokation of theCharacter-Predicate's test(char)
method shall also be considered for a'Token-Match'
.
Ends With The provided token-String
must match each character at the ending of theString
-parameter'srcStr'
. Furthermore, the character directly before thetoken-String
in'srcStr'
must be either:
- White-space (matching
'\s'
) String
-start (matching'^'
)- In situations where an
extraDelimiterTest
has been passed to the method, characters that receive TRUE from the invokation of theCharacter-Predicate's test(char)
method shall also be considered for a'Token-Match'
.
Contains The provided token-String
must be a substring of theString
-parameter'srcStr'
. Furthermore, the characters directly before and immediately following thetoken-String
match location in'srcStr'
must assume one of the following values:
- White-space (matching
'\s'
) String
-start (matching'^'
)String
-terminus (matching'$'
)- In situations where an
extraDelimiterTest
has been passed to the method, characters that receive TRUE from the invokation of theCharacter-Predicate's test(char)
method shall also be considered for a'Token-Match'
.
CI (Case Insensitive) All equality-tests will be done on a Case Insensitive
basis.Method Parameters
Parameter Explanation String srcStr
This parameter is mandatory for every method here. It is the source String
that is being searched. Every method is designed to iterate through the characters in thisString
, searching for matches oftoken(s)
.int nth
This represents the 'nth'
match of a comparisonfor-loop
. When the method-signature used includes the parameter'nth'
, the firstn-1
matches that are found - will be skipped, and the'nth'
match is, instead, returned.
EXCEPTIONS: AnNException
shall throw if the value of parameter'nth'
is zero, negative, or larger than the size of the input html-Vector
.int sPos, int ePos
When these parameters are present, only substring's
that are found between these specifiedString
indices will be considered when returning results fromStrTokIndexOf
.
NOTE: In every situation where the parametersint sPos, int ePos
are used, parameter'ePos'
will accept a negative value, but parameter'sPos'
will not. When'ePos'
is passed a negative-value, the internalLV
('Loop Variable Counter') will have itspublic final int end
field set to the length of the'srcStr'
parameterString
.
EXCEPTIONS: AnIndexOutOfBoundsException
will be thrown if:- If
sPos
is negative, or ifsPos
is greater-than or equal-to the size of'srcStr'
- If
ePos
is zero, or greater than the size'srcStr'
. - If
sPos
is a larger integer thanePos
String token
This is the testing-substring that is this class' search goal. When this String
is identified as a substring of the input-parameterString 'srcStr'
, a potential match has been found. In order for potential matches to be returned as results, they are subsequently tested forsurrounding white-space
(or the additional'extraDelimiterTest'
). The requirements for a potential match to be returned as aToken Match
are as follows:- The location of
'token'
in'srcStr'
must be bounded by white-space, or be located at the very beginning or ending of the'srcStr'
. - If an
extraDelimiterTest
has been provided, the location of'token'
in'srcStr'
may also be bounded by characters that are a match with theCharacter-Predicate
'test(char)'
method. - And, of course, the
'token'
must be a substring of'srcStr'
String... tokens
Each of the 'token' String's
passed usingVarargs array
parameter'tokens'
must follow the exact same rules explained in the previous parameter entry (directly above) in order to be consideredtoken
-matches with/for input parameter'srcStr'
. All theVarargs String-Array
adds is that it facilitates testing multipletokens
all at the same time so that their comparison-results can beAND'ed
,OR'ed
,NAND'ed
, etc...Predicate<Character> extraDelimiterTest
When this parameter is present in the method-signature parameter-list, the decision of whether a Token-Match
is to be included in the search result-set can be made less restrictive. Usually, a match must be delimited by white-space; meaning that the characters directly before and after the match location in'srcStr'
must be white-space, or theString terminus
(Regex:'^'
and'$'
).
However, when this parameter is part of a method signature, the method body in this class that implements this search will also permit atoken-match
location to be bounded by characters that pass thisCharacter-Predicate's Predicate.test(char)
method.
For instance, if(Character c) -> ",.!?()".contains("" + c)
were passed to this parameter, then:commas, periods, exclamation-points, question-marks,
andparenthesis
would all be allowed directly before or immediately after thetoken-match
location of the'token'
parameter insideString 'srcStr'
.
Hi-Lited Source-Code:- View Here: Torello/Java/StrTokCmpr.java
- Open New Browser-Tab: Torello/Java/StrTokCmpr.java
File Size: 131,786 Bytes Line Count: 2,651 '\n' Characters Found
Stateless Class:This class neither contains any program-state, nor can it be instantiated. The@StaticFunctional
Annotation may also be called 'The Spaghetti Report'.Static-Functional
classes are, essentially, C-Styled Files, without any constructors or non-static member fields. It is a concept very similar to the Java-Bean's@Stateless
Annotation.
- 1 Constructor(s), 1 declared private, zero-argument constructor
- 109 Method(s), 109 declared static
- 7 Field(s), 7 declared static, 5 declared final
- Fields excused from final modifier (with explanation):
Field 'DEBUG' is not final. Reason: DEBUGGING Field 'DEBUG_LOG' is not final. Reason: DEBUGGING
-
-
Method Summary
Contains Modifier and Type Method static boolean
contains(String srcStr, String token)
static boolean
containsAND(String srcStr, String... tokens)
static boolean
containsAND_CI(String srcStr, String... tokens)
static boolean
containsIgnoreCase(String srcStr, String token)
static boolean
containsNAND(String srcStr, String... tokens)
static boolean
containsNAND_CI(String srcStr, String... tokens)
static boolean
containsOR(String srcStr, String... tokens)
static boolean
containsOR_CI(String srcStr, String... tokens)
static boolean
containsXOR(String srcStr, String... tokens)
static boolean
containsXOR_CI(String srcStr, String... tokens)
Contains, Range-Limited Modifier and Type Method static boolean
contains(String srcStr, int sPos, int ePos, String token)
static boolean
containsAND(String srcStr, int sPos, int ePos, String... tokens)
static boolean
containsAND_CI(String srcStr, int sPos, int ePos, String... tokens)
static boolean
containsIgnoreCase(String srcStr, int sPos, int ePos, String token)
static boolean
containsNAND(String srcStr, int sPos, int ePos, String... tokens)
static boolean
containsNAND_CI(String srcStr, int sPos, int ePos, String... tokens)
static boolean
containsOR(String srcStr, int sPos, int ePos, String... tokens)
static boolean
containsOR_CI(String srcStr, int sPos, int ePos, String... tokens)
static boolean
containsXOR(String srcStr, int sPos, int ePos, String... tokens)
static boolean
containsXOR_CI(String srcStr, int sPos, int ePos, String... tokens)
Contains w/ Extra-Delimiter Test Modifier and Type Method static boolean
contains(String srcStr, Predicate<Character> extraDelimiterTest, String token)
static boolean
containsAND(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
containsAND_CI(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
containsIgnoreCase(String srcStr, Predicate<Character> extraDelimiterTest, String token)
static boolean
containsNAND(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
containsNAND_CI(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
containsOR(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
containsOR_CI(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
containsXOR(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
containsXOR_CI(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
Contains, Range-Limited w/ Extra-Delimiter Test Modifier and Type Method static boolean
contains(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String token)
static boolean
containsAND(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
containsAND_CI(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
containsIgnoreCase(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String token)
static boolean
containsNAND(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
containsNAND_CI(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
containsOR(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
containsOR_CI(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
containsXOR(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
containsXOR_CI(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
Starts-With Modifier and Type Method static boolean
startsWith(String srcStr, String token)
static boolean
startsWithIgnoreCase(String srcStr, String token)
static boolean
startsWithNAND(String srcStr, String... tokens)
static boolean
startsWithNAND_CI(String srcStr, String... tokens)
static boolean
startsWithXOR(String srcStr, String... tokens)
static boolean
startsWithXOR_CI(String srcStr, String... tokens)
Starts-With, Range-Limited Modifier and Type Method static boolean
startsWith(String srcStr, int sPos, int ePos, String token)
static boolean
startsWithIgnoreCase(String srcStr, int sPos, int ePos, String token)
static boolean
startsWithNAND(String srcStr, int sPos, int ePos, String... tokens)
static boolean
startsWithNAND_CI(String srcStr, int sPos, int ePos, String... tokens)
static boolean
startsWithXOR(String srcStr, int sPos, int ePos, String... tokens)
static boolean
startsWithXOR_CI(String srcStr, int sPos, int ePos, String... tokens)
Starts-With w/ Extra-Delimiter Test Modifier and Type Method static boolean
startsWith(String srcStr, Predicate<Character> extraDelimiterTest, String token)
static boolean
startsWithIgnoreCase(String srcStr, Predicate<Character> extraDelimiterTest, String token)
static boolean
startsWithNAND(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
startsWithNAND_CI(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
startsWithXOR(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
startsWithXOR_CI(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
Starts-With, Range-Limited w/ Extra-Delimiter Test Modifier and Type Method static boolean
startsWith(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String token)
static boolean
startsWithIgnoreCase(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String token)
static boolean
startsWithNAND(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
startsWithNAND_CI(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
startsWithXOR(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
startsWithXOR_CI(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
Ends-With Modifier and Type Method static boolean
endsWith(String srcStr, String token)
static boolean
endsWithIgnoreCase(String srcStr, String token)
static boolean
endsWithNAND(String srcStr, String... tokens)
static boolean
endsWithNAND_CI(String srcStr, String... tokens)
static boolean
endsWithXOR(String srcStr, String... tokens)
static boolean
endsWithXOR_CI(String srcStr, String... tokens)
Ends-With, Range-Limited Modifier and Type Method static boolean
endsWith(String srcStr, int sPos, int ePos, String token)
static boolean
endsWithIgnoreCase(String srcStr, int sPos, int ePos, String token)
static boolean
endsWithNAND(String srcStr, int sPos, int ePos, String... tokens)
static boolean
endsWithNAND_CI(String srcStr, int sPos, int ePos, String... tokens)
static boolean
endsWithXOR(String srcStr, int sPos, int ePos, String... tokens)
static boolean
endsWithXOR_CI(String srcStr, int sPos, int ePos, String... tokens)
Ends-With w/ Extra-Delimiter Test Modifier and Type Method static boolean
endsWith(String srcStr, Predicate<Character> extraDelimiterTest, String token)
static boolean
endsWithIgnoreCase(String srcStr, Predicate<Character> extraDelimiterTest, String token)
static boolean
endsWithNAND(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
endsWithNAND_CI(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
endsWithXOR(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
endsWithXOR_CI(String srcStr, Predicate<Character> extraDelimiterTest, String... tokens)
Ends-With, Range-Limited w/ Extra-Delimiter Test Modifier and Type Method static boolean
endsWith(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String token)
static boolean
endsWithIgnoreCase(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String token)
static boolean
endsWithNAND(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
endsWithNAND_CI(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
endsWithXOR(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
static boolean
endsWithXOR_CI(String srcStr, int sPos, int ePos, Predicate<Character> extraDelimiterTest, String... tokens)
Internal, Protected Helper Methods Modifier and Type Method protected static boolean
AND(String methodName, String srcStr, String[] tokens, Predicate<String> pred)
protected static boolean
contains(String srcStr, LV l, String token)
protected static boolean
contains(String srcStr, LV l, Predicate<Character> extraDelimiterTest, String token)
protected static boolean
CONTAINS(boolean ignoresCase, byte booleanOperation, String srcStr, String[] tokens)
protected static boolean
CONTAINS(boolean ignoresCase, byte booleanOperation, String srcStr, Predicate<Character> extraDelimiterTest, String[] tokens)
protected static boolean
CONTAINS(boolean ignoresCase, byte booleanOperation, LV l, String srcStr, String[] tokens)
protected static boolean
CONTAINS(boolean ignoresCase, byte booleanOperation, LV l, String srcStr, Predicate<Character> extraDelimiterTest, String[] tokens)
protected static boolean
containsIgnoreCase(String srcStr, LV l, String token)
protected static boolean
containsIgnoreCase(String srcStr, LV l, Predicate<Character> extraDelimiterTest, String token)
protected static boolean
endsWith(String srcStr, LV l, String token)
protected static boolean
endsWith(String srcStr, LV l, Predicate<Character> extraDelimiterTest, String token)
protected static boolean
endsWithIgnoreCase(String srcStr, LV l, String token)
protected static boolean
endsWithIgnoreCase(String srcStr, LV l, Predicate<Character> extraDelimiterTest, String token)
protected static boolean
NAND(String methodName, String srcStr, String[] tokens, Predicate<String> pred)
protected static boolean
OR(String methodName, String srcStr, String[] tokens, Predicate<String> pred)
protected static boolean
startsWith(String srcStr, LV l, String token)
protected static boolean
startsWith(String srcStr, LV l, Predicate<Character> extraDelimiterTest, String token)
protected static boolean
startsWithIgnoreCase(String srcStr, LV l, String token)
protected static boolean
startsWithIgnoreCase(String srcStr, LV l, Predicate<Character> extraDelimiterTest, String token)
protected static boolean
XOR(String methodName, String srcStr, String[] tokens, Predicate<String> pred)
-
-
-
Field Detail
-
DEBUG
public static boolean DEBUG
Utility field. You may choose to set this variable to true, and the followingString
commands will print to an internally storedConsumer<String> DEBUG_LOG
class that may be set. This is generally a very minor drain on code-efficiency. When this flag is set toFALSE
, a shortif-statement evaluation
still occurs even when the flag is false on each occasion that the string-comparison loops identify and return a match. This is very minor performance loss, and does provide quite a lot of help to those trying to identify difficult to notice problems with partial-String
comparisons.
Required Setting:
In order to use this minor Debugging Feature, it is necessary to provide aConsumer<String>
to public fieldDEBUG_LOG
! This field is apublic
andstatic
field, which will be used by any invocation of the methods in this class. ThisString
-consumer may do anything you would like it to do with the provided Debug-String
data.
String-Format:
TheString
that is ultimately sent to theConsumer<String>
you provide will be formatted, as below, in the following Code-Snippet:
private static void PRNT(String methodName, String srcStr, String compareStr) { DEBUG_LOG.accept(methodName + "-MATCH[" + srcStr + ", " + compareStr + "] "); }
Generally, you would assign a writer that looks like something the Lambda-Target / Function-Pointer assignment in the snippet below:
StrTokCmpr.DEBUG_LOG = (String logInfoStr) -> System.out.println(logInfoStr);
Finally, if you are using this field, please note that any of the methods whose name ends with the phrase "IgnoreCase" will not print to theDEBUG_LOG
. This is primarily because these are all single-argument comparisons, and logging would be of only minor benefit.
The primary value of a debug-log is the ability to identify whether / when a particular substring from a list of substrings actually matched.
-
DEBUG_LOG
public static java.util.function.Consumer<java.lang.String> DEBUG_LOG
This object reference cannot be null when DEBUG is TRUE. ThisStorageWriter
will receive text-notifications every time the string-comparing loops identify a match.
DEBUG_LOG is not Thread-Safe:
No attempt has been made to ensure that this debugging feature will operate perfectly in a multi-threaded environment. The two reasons for this are:- The primary purpose of this LOG is for debugging code, not putting details about string-match information into an 'on-line' or production environment.
- This is a best-efforts string-comparison package that would sacrifice quite a bit of its
utility if it were expected to maintain multiple instances of this class just to have
StrCmpr
debug operations work in multiple-threads. Code readability necessitates keeping this a class with only static methods. - Two threads making calls to this
class StrCmpr
might see log-writes that, sadly, look like they 'interlaced' (crashed), but even when this occasions, reading the log wouldn't be that difficult anyway.
-
AND
protected static final byte AND
Signifies that an'AND'
operation is required, but only for methods that implement one of the'contains'
variants.- See Also:
- Constant Field Values
- Code:
- Exact Field Declaration Expression:
protected static final byte AND = 0;
-
OR
protected static final byte OR
Signifies that an'AND'
operation is required, but only for methods that implement one of the'contains'
variants.- See Also:
- Constant Field Values
- Code:
- Exact Field Declaration Expression:
protected static final byte OR = 1;
-
NAND
protected static final byte NAND
Signifies that an'AND'
operation is required, but only for methods that implement one of the'contains'
variants.- See Also:
- Constant Field Values
- Code:
- Exact Field Declaration Expression:
protected static final byte NAND = 2;
-
XOR
protected static final byte XOR
Signifies that an'AND'
operation is required, but only for methods that implement one of the'contains'
variants.- See Also:
- Constant Field Values
- Code:
- Exact Field Declaration Expression:
protected static final byte XOR = 3;
-
-
Method Detail
-
AND
protected static boolean AND (java.lang.String methodName, java.lang.String srcStr, java.lang.String[] tokens, java.util.function.Predicate<java.lang.String> pred)
This performs the internal AND. It expects a comparisonPredicate
in order for the comparison to work.- Parameters:
methodName
- If printing-debug information is expected, by the DEBUG global-variable, thisString
is used.srcStr
- This is the same source-string parameter from all the methods in this class.tokens
- This is the same var-args string array from all the methods in this class.pred
- This is the comparisonPredicate
provided by the methods in this class that call this method.- Returns:
- The AND of these
String's
, using the providedPredicate
. - Throws:
StrCmprException
- This exception shall throw if there are any invalidString's
in the compare-string parameter array.
IMPORTANT NOTE: The conditions that would cause this exception to throw should remind the reader that each and every method here will throw exception 'StrCmprException' if invalid input has been passed to the "Compare String" Variable-ArgumentsString...
Parameter.- Code:
- Exact Method Body:
StrCmprException.check(tokens); for (String cmp: tokens) if (! pred.test(cmp)) { if (DEBUG) PRNT(methodName + "-MATCHFAIL", srcStr, cmp); return false; } return true;
-
NAND
protected static boolean NAND (java.lang.String methodName, java.lang.String srcStr, java.lang.String[] tokens, java.util.function.Predicate<java.lang.String> pred)
This performs the internal NAND. It expects a comparisonPredicate
in order for the comparison to work.- Parameters:
methodName
- If printing-debug information is expected, by the DEBUG global-variable, thisString
is used.srcStr
- This is the same source-string parameter from all the methods in this class.tokens
- This is the same var-args string array from all the methods in this class.pred
- This is the comparisonPredicate
provided by the methods in this class that call this method.- Returns:
- The NAND of these
String's
, using the providedPredicate
. - Throws:
StrCmprException
- This exception shall throw if there are any invalidString's
in the compare-string parameter array.
IMPORTANT NOTE: The conditions that would cause this exception to throw should remind the reader that each and every method here will throw exception 'StrCmprException' if invalid input has been passed to the "Compare String" Variable-ArgumentsString...
Parameter.- Code:
- Exact Method Body:
StrCmprException.check(tokens); for (String cmp: tokens) if (pred.test(cmp)) { if (DEBUG) PRNT(methodName + "-MATCH", srcStr, cmp); return false; } return true;
-
OR
protected static boolean OR (java.lang.String methodName, java.lang.String srcStr, java.lang.String[] tokens, java.util.function.Predicate<java.lang.String> pred)
This performs the internal OR. It expects a comparisonPredicate
in order for the comparison to work.- Parameters:
methodName
- If printing-debug information is expected, by the DEBUG global-variable, thisString
is used.srcStr
- This is the same source-string parameter from all the methods in this class.tokens
- This is the same var-args string array from all the methods in this class.pred
- This is the comparisonPredicate
provided by the methods in this class that call this method.- Returns:
- The OR of these
String's
, using the providedPredicate
. - Throws:
StrCmprException
- This exception shall throw if there are any invalidString's
in the compare-string parameter array.
IMPORTANT NOTE: The conditions that would cause this exception to throw should remind the reader that each and every method here will throw exception 'StrCmprException' if invalid input has been passed to the "Compare String" Variable-ArgumentsString...
Parameter.- Code:
- Exact Method Body:
StrCmprException.check(tokens); for (String cmp: tokens) if (pred.test(cmp)) { if (DEBUG) PRNT(methodName + "-MATCH", srcStr, cmp); return true; } return false;
-
XOR
protected static boolean XOR (java.lang.String methodName, java.lang.String srcStr, java.lang.String[] tokens, java.util.function.Predicate<java.lang.String> pred)
This performs the internal XOR. It expects a comparisonPredicate
in order for the comparison to work.- Parameters:
methodName
- If printing-debug information is expected, by the DEBUG global-variable, thisString
is used.srcStr
- This is the same source-string parameter from all the methods in this class.tokens
- This is the same var-args string array from all the methods in this class.pred
- This is the comparisonPredicate
provided by the methods in this class that call this method.- Returns:
- The XOR of these
String's
, using the providedPredicate
. - Throws:
StrCmprException
- This exception shall throw if there are any invalidString's
in the compare-string parameter array.
IMPORTANT NOTE: The conditions that would cause this exception to throw should remind the reader that each and every method here will throw exception 'StrCmprException' if invalid input has been passed to the "Compare String" Variable-ArgumentsString...
Parameter.- Code:
- Exact Method Body:
StrCmprException.check(tokens); int count=0; for (String cmp: tokens) if (pred.test(cmp)) if (++count > 1) { if (DEBUG) PRNT(methodName + "-MATCH", srcStr, cmp); return false; } return count == 1;
-
containsOR
public static boolean containsOR(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
contains at least one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
contains at least one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(false, OR, srcStr, tokens);
-
containsAND
public static boolean containsAND(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
contains every one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
contains every one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(false, AND, srcStr, tokens);
-
containsXOR
public static boolean containsXOR(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
contains exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
contains exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(false, XOR, srcStr, tokens);
-
containsNAND
public static boolean containsNAND(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
does not contain any of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
does not contain any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(false, NAND, srcStr, tokens);
-
containsOR_CI
public static boolean containsOR_CI(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
contains at least one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
contains at least one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(true, OR, srcStr, tokens);
-
containsAND_CI
public static boolean containsAND_CI(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
contains every one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
contains every one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(true, AND, srcStr, tokens);
-
containsXOR_CI
public static boolean containsXOR_CI(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
contains exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
contains exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(true, XOR, srcStr, tokens);
-
containsNAND_CI
public static boolean containsNAND_CI(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
does not contain any of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
does not contain any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(true, NAND, srcStr, tokens);
-
endsWithXOR
public static boolean endsWithXOR(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
ends with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
- Returns:
TRUE
if'srcStr'
ends with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
XOR(String, String, String[], Predicate)
,endsWith(String, LV, String)
- Code:
- Exact Method Body:
return XOR("endsWithXOR", srcStr, tokens, cmp -> endsWith(srcStr, new LV(srcStr, 0, -1), cmp));
-
endsWithNAND
public static boolean endsWithNAND(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
does not end with any of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
- Returns:
TRUE
if'srcStr'
does not end with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
NAND(String, String, String[], Predicate)
,endsWith(String, LV, String)
- Code:
- Exact Method Body:
return NAND("endsWithNAND", srcStr, tokens, cmp -> endsWith(srcStr, new LV(srcStr, 0, -1), cmp));
-
startsWithXOR
public static boolean startsWithXOR(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
starts with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
starts with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
XOR(String, String, String[], Predicate)
,startsWith(String, LV, String)
- Code:
- Exact Method Body:
return XOR("startsWithXOR", srcStr, tokens, cmp -> startsWith(srcStr, new LV(srcStr, 0, -1), cmp));
-
startsWithNAND
public static boolean startsWithNAND(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
does not start with any of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
does not start with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
NAND(String, String, String[], Predicate)
,startsWith(String, LV, String)
- Code:
- Exact Method Body:
return NAND("startsWithNAND", srcStr, tokens, cmp -> startsWith(srcStr, new LV(srcStr, 0, -1), cmp));
-
endsWithXOR_CI
public static boolean endsWithXOR_CI(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
ends with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
- Returns:
TRUE
if'srcStr'
ends with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
endsWithIgnoreCase(String, String)
,XOR(String, String, String[], Predicate)
- Code:
- Exact Method Body:
return XOR("endsWithXOR_CI", srcStr, tokens, cmp -> endsWithIgnoreCase(srcStr, cmp));
-
endsWithNAND_CI
public static boolean endsWithNAND_CI(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
does not end with any of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
- Returns:
TRUE
if'srcStr'
does not end with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
endsWithIgnoreCase(String, String)
,NAND(String, String, String[], Predicate)
- Code:
- Exact Method Body:
return NAND("endsWithNAND_CI", srcStr, tokens, cmp -> endsWithIgnoreCase(srcStr, cmp));
-
startsWithXOR_CI
public static boolean startsWithXOR_CI(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
starts with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
starts with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
startsWithIgnoreCase(String, String)
,XOR(String, String, String[], Predicate)
- Code:
- Exact Method Body:
return XOR("startsWithXOR_CI", srcStr, tokens, cmp -> startsWithIgnoreCase(srcStr, cmp));
-
startsWithNAND_CI
public static boolean startsWithNAND_CI(java.lang.String srcStr, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
does not start with any of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
does not start with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
startsWithIgnoreCase(String, String)
,NAND(String, String, String[], Predicate)
- Code:
- Exact Method Body:
return NAND("startsWithNAND_CI", srcStr, tokens, cmp -> startsWithIgnoreCase(srcStr, cmp));
-
startsWith
public static boolean startsWith(java.lang.String srcStr, java.lang.String token)
Checks to ensure that'srcStr'
starts with the'compareStr'
token.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
token
- TheString
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
starts with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Code:
- Exact Method Body:
return srcStr.startsWith(token) && ( (token.length() == srcStr.length()) || Character.isWhitespace(srcStr.charAt(token.length())));
-
endsWith
public static boolean endsWith(java.lang.String srcStr, java.lang.String token)
Checks to ensure that'srcStr'
ends with the'compareStr'
token.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
token
- TheString
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
- Returns:
TRUE
if'srcStr'
ends with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Code:
- Exact Method Body:
return srcStr.endsWith(token) && ( (token.length() == srcStr.length()) || (Character.isWhitespace(srcStr.charAt(srcStr.length() - token.length() - 1))));
-
contains
public static boolean contains(java.lang.String srcStr, java.lang.String token)
Checks to ensure that'srcStr'
contains the'compareStr'
token.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
token
- TheString
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
contains the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Code:
- Exact Method Body:
int tokenLen = token.length(); int loopLen = srcStr.length() - tokenLen; for (int i=0; i <= loopLen; i++) if ( srcStr.regionMatches(i, token, 0, tokenLen) && ( (i == 0) || Character.isWhitespace(srcStr.charAt(i-1))) && ( ((i + tokenLen) == srcStr.length()) || Character.isWhitespace(srcStr.charAt(i + tokenLen))) ) return true; return false;
-
startsWithIgnoreCase
public static boolean startsWithIgnoreCase(java.lang.String srcStr, java.lang.String token)
Checks to ensure that'srcStr'
starts with the'compareStr'
token.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
token
- TheString
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
starts with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Code:
- Exact Method Body:
return srcStr.regionMatches(true, 0, token, 0, token.length()) && ( (token.length() == srcStr.length()) || Character.isWhitespace(srcStr.charAt(token.length())));
-
endsWithIgnoreCase
public static boolean endsWithIgnoreCase(java.lang.String srcStr, java.lang.String token)
Checks to ensure that'srcStr'
ends with the'compareStr'
token.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
token
- TheString
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
- Returns:
TRUE
if'srcStr'
ends with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Code:
- Exact Method Body:
int tokenLen = token.length(); int startPos = srcStr.length() - tokenLen; return srcStr.regionMatches(true, startPos, token, 0, tokenLen) && ( (tokenLen == srcStr.length()) || (Character.isWhitespace(srcStr.charAt(startPos - 1))));
-
containsIgnoreCase
public static boolean containsIgnoreCase(java.lang.String srcStr, java.lang.String token)
Checks to ensure that'srcStr'
contains the'compareStr'
token.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
token
- TheString
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
- Returns:
TRUE
if'srcStr'
contains the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- See Also:
containsIgnoreCase(String, LV, String)
- Code:
- Exact Method Body:
return containsIgnoreCase(srcStr, new LV(srcStr, 0, srcStr.length()), token);
-
containsOR
public static boolean containsOR(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), contains at least one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains at least one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(false, OR, l, srcStr, tokens);
-
containsAND
public static boolean containsAND(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), contains every one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains every one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(false, AND, l, srcStr, tokens);
-
containsXOR
public static boolean containsXOR(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), contains exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(false, XOR, l, srcStr, tokens);
-
containsNAND
public static boolean containsNAND(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), does not contain any of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
does not contain any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(false, NAND, l, srcStr, tokens);
-
containsOR_CI
public static boolean containsOR_CI(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), contains at least one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains at least one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(true, OR, l, srcStr, tokens);
-
containsAND_CI
public static boolean containsAND_CI(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), contains every one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains every one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(true, AND, l, srcStr, tokens);
-
containsXOR_CI
public static boolean containsXOR_CI(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), contains exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(true, XOR, l, srcStr, tokens);
-
containsNAND_CI
public static boolean containsNAND_CI(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), does not contain any of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
does not contain any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(true, NAND, l, srcStr, tokens);
-
endsWithXOR
public static boolean endsWithXOR(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), ends with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
ends with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
endsWith(String, LV, String)
,XOR(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return XOR("endsWithXOR", srcStr, tokens, cmp -> endsWith(srcStr, l, cmp));
-
endsWithNAND
public static boolean endsWithNAND(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), does not end with any of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
does not end with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
endsWith(String, LV, String)
,NAND(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return NAND("endsWithNAND", srcStr, tokens, cmp -> endsWith(srcStr, l, cmp));
-
startsWithXOR
public static boolean startsWithXOR(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), starts with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
starts with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
startsWith(String, LV, String)
,XOR(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return XOR("startsWithXOR", srcStr, tokens, cmp -> startsWith(srcStr, l, cmp));
-
startsWithNAND
public static boolean startsWithNAND(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), does not start with any of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
does not start with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
startsWith(String, LV, String)
,NAND(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return NAND("startsWithNAND", srcStr, tokens, cmp -> startsWith(srcStr, l, cmp));
-
endsWithXOR_CI
public static boolean endsWithXOR_CI(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), ends with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
ends with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
endsWithIgnoreCase(String, LV, String)
,XOR(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return XOR("endsWithXOR_CI", srcStr, tokens, cmp -> endsWithIgnoreCase(srcStr, l, cmp));
-
endsWithNAND_CI
public static boolean endsWithNAND_CI(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), does not end with any of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
does not end with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
endsWithIgnoreCase(String, LV, String)
,NAND(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return NAND("endsWithNAND_CI", srcStr, tokens, cmp -> endsWithIgnoreCase(srcStr, l, cmp));
-
startsWithXOR_CI
public static boolean startsWithXOR_CI(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), starts with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
starts with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
startsWithIgnoreCase(String, LV, String)
,XOR(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return XOR ("startsWithXOR_CI", srcStr, tokens, cmp -> startsWithIgnoreCase(srcStr, l, cmp));
-
startsWithNAND_CI
public static boolean startsWithNAND_CI(java.lang.String srcStr, int sPos, int ePos, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), does not start with any of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
tokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
does not start with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
startsWithIgnoreCase(String, LV, String)
,NAND(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return NAND ("startsWithNAND_CI", srcStr, tokens, cmp -> startsWithIgnoreCase(srcStr, l, cmp));
-
startsWith
public static boolean startsWith(java.lang.String srcStr, int sPos, int ePos, java.lang.String token)
Checks whether or not a substring of'srcStr'
starts with the'compareStr'
token. The substring that is checked is demarcated by'sPos'
(inclusive), and'ePos'
(exclusive).
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
token
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
starts with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
startsWith(String, LV, String)
- Code:
- Exact Method Body:
return startsWith(srcStr, new LV(srcStr, sPos, ePos), token);
-
startsWithIgnoreCase
public static boolean startsWithIgnoreCase(java.lang.String srcStr, int sPos, int ePos, java.lang.String token)
Checks whether or not a substring of'srcStr'
starts with the'compareStr'
token. The substring that is checked is demarcated by'sPos'
(inclusive), and'ePos'
(exclusive).
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
token
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
starts with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
startsWithIgnoreCase(String, LV, String)
- Code:
- Exact Method Body:
return startsWithIgnoreCase(srcStr, new LV(srcStr, sPos, ePos), token);
-
endsWith
public static boolean endsWith(java.lang.String srcStr, int sPos, int ePos, java.lang.String token)
Checks whether or not a substring of'srcStr'
ends with the'compareStr'
token. The substring that is checked is demarcated by'sPos'
(inclusive), and'ePos'
(exclusive).
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
token
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
ends with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
endsWith(String, LV, String)
- Code:
- Exact Method Body:
return endsWith(srcStr, new LV(srcStr, sPos, ePos), token);
-
endsWithIgnoreCase
public static boolean endsWithIgnoreCase(java.lang.String srcStr, int sPos, int ePos, java.lang.String token)
Checks whether or not a substring of'srcStr'
ends with the'compareStr'
token. The substring that is checked is demarcated by'sPos'
(inclusive), and'ePos'
(exclusive).
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
token
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these two values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
ends with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
endsWithIgnoreCase(String, LV, String)
- Code:
- Exact Method Body:
return endsWithIgnoreCase(srcStr, new LV(srcStr, sPos, ePos), token);
-
contains
public static boolean contains(java.lang.String srcStr, int sPos, int ePos, java.lang.String token)
Checks whether or not a substring of'srcStr'
contains the'compareStr'
token. The substring that is checked is demarcated by'sPos'
(inclusive), and'ePos'
(exclusive).
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
token
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
contains(String, LV, String)
- Code:
- Exact Method Body:
return contains(srcStr, new LV(srcStr, sPos, ePos), token);
-
containsIgnoreCase
public static boolean containsIgnoreCase(java.lang.String srcStr, int sPos, int ePos, java.lang.String token)
Checks whether or not a substring of'srcStr'
contains the'compareStr'
token. The substring that is checked is demarcated by'sPos'
(inclusive), and'ePos'
(exclusive).
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
token
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
containsIgnoreCase(String, LV, String)
- Code:
- Exact Method Body:
return containsIgnoreCase(srcStr, new LV(srcStr, sPos, ePos), token);
-
startsWith
protected static boolean startsWith(java.lang.String srcStr, LV l, java.lang.String token)
This method remains'protected'
because it utilizes a specialized Loop-Control Variable Class Version of'LV'
. It is used internally by the search methods above.
-
startsWithIgnoreCase
protected static boolean startsWithIgnoreCase(java.lang.String srcStr, LV l, java.lang.String token)
This method remains'protected'
because it utilizes a specialized Loop-Control Variable Class Version of'LV'
. It is used internally by the search methods above.
-
endsWith
-
endsWithIgnoreCase
protected static boolean endsWithIgnoreCase(java.lang.String srcStr, LV l, java.lang.String token)
This method remains'protected'
because it utilizes a specialized Loop-Control Variable Class Version of'LV'
. It is used internally by the search methods above.
-
contains
-
containsIgnoreCase
protected static boolean containsIgnoreCase(java.lang.String srcStr, LV l, java.lang.String token)
This method remains'protected'
because it utilizes a specialized Loop-Control Variable Class Version of'LV'
. It is used internally by the search methods above.
-
CONTAINS
protected static boolean CONTAINS(boolean ignoresCase, byte booleanOperation, LV l, java.lang.String srcStr, java.lang.String[] tokens)
Implementing a 'contains' is more efficient by performing only one loop iteration. Therefore, the methods that implement some variant of theString.contains
method will use this general-purposecontains
-testing method.- Parameters:
ignoresCase
- This is used to signify whether to ignore case when performing theString
-comparison operations.booleanOperation
- This is designed to take one of four values. This method will throw an exception if it does not.l
- Loop end-point parametersrcStr
- Any non-null instance ofjava.lang.String
tokens
- This is one (or many) javaString's
, each of which shall be checked whether it is contained by'srcStr'
.- Returns:
- The appropriate response based on the inputs for boolean logic.
- Code:
- Exact Method Body:
int len = srcStr.length(); int count = (booleanOperation == XOR) ? 0 : tokens.length; int[] tokLenArr = new int[tokens.length]; for (int i=0; i < tokens.length; i++) tokLenArr[i] = tokens[i].length(); for (int i=l.start; i < l.end; i++) for (int j=0; j < tokens.length; j++) if (tokLenArr[j] != -1) if (srcStr.regionMatches(ignoresCase, i, tokens[j], 0, tokLenArr[j])) if ( ( (i==0) || Character.isWhitespace(srcStr.charAt(i-1))) && ( ((i + tokLenArr[j]) == len) || Character.isWhitespace(srcStr.charAt(i + tokLenArr[j]))) ) switch (booleanOperation) { case AND : tokLenArr[j] = -1; if (--count == 0) return true; else break; case XOR : tokLenArr[j] = -1; if (++count > 1) return false; else break; case OR : return true; case NAND : return false; default : throw new IllegalArgumentException (CONTAINS_EX.replace("BOOL", "" + booleanOperation)); } switch(booleanOperation) { case AND : return false; case OR : return false; case XOR : return count == 1; case NAND : return true; default : throw new IllegalArgumentException (CONTAINS_EX.replace("BOOL", "" + booleanOperation)); }
-
CONTAINS
protected static boolean CONTAINS(boolean ignoresCase, byte booleanOperation, java.lang.String srcStr, java.lang.String[] tokens)
Implementing a 'contains' is more efficient by performing only one loop iteration. Therefore, the methods that implement some variant of theString.contains
method will use this general-purposecontains
-testing method.- Parameters:
ignoresCase
- This is used to signify whether to ignore case when performing theString
-comparison operations.booleanOperation
- This is designed to take one of four values. This method will throw an exception if it does not.srcStr
- Any non-null instance ofjava.lang.String
tokens
- This is one (or many) javaString's
, each of which shall be checked whether it is contained by'srcStr'
.- Returns:
- The appropriate response based on the inputs for boolean logic.
- Code:
- Exact Method Body:
int len = srcStr.length(); int count = (booleanOperation == XOR) ? 0 : tokens.length; int[] tokLenArr = new int[tokens.length]; for (int i=0; i < tokens.length; i++) tokLenArr[i] = tokens[i].length(); for (int i=0; i < len; i++) for (int j=0; j < tokens.length; j++) if (tokLenArr[j] != -1) if (srcStr.regionMatches(ignoresCase, i, tokens[j], 0, tokLenArr[j])) if ( ( (i==0) || Character.isWhitespace(srcStr.charAt(i-1))) && ( ((i + tokens[j].length()) == len) || Character.isWhitespace(srcStr.charAt(i + tokens[j].length()))) ) switch (booleanOperation) { case AND : tokLenArr[j] = -1; if (--count == 0) return true; else break; case XOR : tokLenArr[j] = -1; if (++count > 1) return false; else break; case OR : return true; case NAND : return false; default : throw new IllegalArgumentException (CONTAINS_EX.replace("BOOL", "" + booleanOperation)); } switch(booleanOperation) { case AND : return false; case OR : return false; case XOR : return count == 1; case NAND : return true; default : throw new IllegalArgumentException (CONTAINS_EX.replace("BOOL", "" + booleanOperation)); }
-
containsOR
public static boolean containsOR (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
contains at least one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
contains at least one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(false, OR, srcStr, extraDelimiterTest, tokens);
-
containsAND
public static boolean containsAND (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
contains every one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
contains every one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(false, AND, srcStr, extraDelimiterTest, tokens);
-
containsXOR
public static boolean containsXOR (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
contains exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
contains exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(false, XOR, srcStr, extraDelimiterTest, tokens);
-
containsNAND
public static boolean containsNAND (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
does not contain any of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
does not contain any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(false, NAND, srcStr, extraDelimiterTest, tokens);
-
containsOR_CI
public static boolean containsOR_CI (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
contains at least one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
contains at least one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(true, OR, srcStr, extraDelimiterTest, tokens);
-
containsAND_CI
public static boolean containsAND_CI (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
contains every one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
contains every one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(true, AND, srcStr, extraDelimiterTest, tokens);
-
containsXOR_CI
public static boolean containsXOR_CI (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
contains exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
contains exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(true, XOR, srcStr, extraDelimiterTest, tokens);
-
containsNAND_CI
public static boolean containsNAND_CI (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
does not contain any of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
does not contain any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
CONTAINS(boolean, byte, String, String[])
- Code:
- Exact Method Body:
return CONTAINS(true, NAND, srcStr, extraDelimiterTest, tokens);
-
endsWithXOR
public static boolean endsWithXOR (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
ends with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
ends with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
XOR(String, String, String[], Predicate)
,endsWith(String, LV, String)
- Code:
- Exact Method Body:
return XOR( "endsWithXOR", srcStr, tokens, cmp -> endsWith(srcStr, new LV(srcStr, 0, -1), extraDelimiterTest, cmp) );
-
endsWithNAND
public static boolean endsWithNAND (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
does not end with any of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
does not end with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
NAND(String, String, String[], Predicate)
,endsWith(String, LV, String)
- Code:
- Exact Method Body:
return NAND( "endsWithNAND", srcStr, tokens, cmp -> endsWith(srcStr, new LV(srcStr, 0, -1), extraDelimiterTest, cmp) );
-
startsWithXOR
public static boolean startsWithXOR (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
starts with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
starts with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
XOR(String, String, String[], Predicate)
,startsWith(String, LV, String)
- Code:
- Exact Method Body:
return XOR( "startsWithXOR", srcStr, tokens, cmp -> startsWith(srcStr, new LV(srcStr, 0, -1), extraDelimiterTest, cmp) );
-
startsWithNAND
public static boolean startsWithNAND (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
does not start with any of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
does not start with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
NAND(String, String, String[], Predicate)
,startsWith(String, LV, String)
- Code:
- Exact Method Body:
return NAND( "startsWithNAND", srcStr, tokens, cmp -> startsWith(srcStr, new LV(srcStr, 0, -1), extraDelimiterTest, cmp) );
-
endsWithXOR_CI
public static boolean endsWithXOR_CI (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
ends with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
ends with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
endsWithIgnoreCase(String, String)
,XOR(String, String, String[], Predicate)
- Code:
- Exact Method Body:
return XOR( "endsWithXOR_CI", srcStr, tokens, cmp -> endsWithIgnoreCase(srcStr, extraDelimiterTest, cmp) );
-
endsWithNAND_CI
public static boolean endsWithNAND_CI (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
does not end with any of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
does not end with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
endsWithIgnoreCase(String, String)
,NAND(String, String, String[], Predicate)
- Code:
- Exact Method Body:
return NAND( "endsWithNAND_CI", srcStr, tokens, cmp -> endsWithIgnoreCase(srcStr, extraDelimiterTest, cmp) );
-
startsWithXOR_CI
public static boolean startsWithXOR_CI (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
starts with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
starts with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
startsWithIgnoreCase(String, String)
,XOR(String, String, String[], Predicate)
- Code:
- Exact Method Body:
return XOR( "startsWithXOR_CI", srcStr, tokens, cmp -> startsWithIgnoreCase(srcStr, extraDelimiterTest, cmp) );
-
startsWithNAND_CI
public static boolean startsWithNAND_CI (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that parameter'srcStr'
does not start with any of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
does not start with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- See Also:
startsWithIgnoreCase(String, String)
,NAND(String, String, String[], Predicate)
- Code:
- Exact Method Body:
return NAND( "startsWithNAND_CI", srcStr, tokens, cmp -> startsWithIgnoreCase(srcStr, extraDelimiterTest, cmp) );
-
startsWith
public static boolean startsWith (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
Checks to ensure that'srcStr'
starts with the'compareStr'
token.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtoken
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
starts with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Code:
- Exact Method Body:
return srcStr.startsWith(token) && ( (token.length() == srcStr.length()) || Character.isWhitespace(srcStr.charAt(token.length())) || extraDelimiterTest.test(srcStr.charAt(token.length())));
-
endsWith
public static boolean endsWith (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
Checks to ensure that'srcStr'
ends with the'compareStr'
token.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtoken
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
ends with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Code:
- Exact Method Body:
int tokenLen = token.length(); return srcStr.endsWith(token) && ( ((srcStr.length() - tokenLen) == 0) || Character.isWhitespace(srcStr.charAt(srcStr.length() - tokenLen - 1)) || extraDelimiterTest.test(srcStr.charAt(srcStr.length() - tokenLen - 1)));
-
contains
public static boolean contains (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
Checks to ensure that'srcStr'
contains the'compareStr'
token.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtoken
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
contains the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Code:
- Exact Method Body:
int tokenLen = token.length(); int loopLen = srcStr.length() - tokenLen; for (int i=0; i <= loopLen; i++) if ( srcStr.regionMatches(i, token, 0, tokenLen) && ( (i == 0) || Character.isWhitespace(srcStr.charAt(i - 1)) || extraDelimiterTest.test(srcStr.charAt(i - 1))) && ( ((i + tokenLen) == srcStr.length()) || Character.isWhitespace(srcStr.charAt(i + tokenLen)) || extraDelimiterTest.test(srcStr.charAt(i + tokenLen))) ) return true; return false;
-
startsWithIgnoreCase
public static boolean startsWithIgnoreCase (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
Checks to ensure that'srcStr'
starts with the'compareStr'
token.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtoken
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
starts with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Code:
- Exact Method Body:
return srcStr.regionMatches(true, 0, token, 0, token.length()) && ( (token.length() == srcStr.length()) || Character.isWhitespace(srcStr.charAt(token.length())) || extraDelimiterTest.test(srcStr.charAt(token.length())));
-
endsWithIgnoreCase
public static boolean endsWithIgnoreCase (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
Checks to ensure that'srcStr'
ends with the'compareStr'
token.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtoken
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
ends with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Code:
- Exact Method Body:
int tokenLen = token.length(); return srcStr.regionMatches(true, srcStr.length() - tokenLen, token, 0, tokenLen) && ( ((srcStr.length() - tokenLen) == 0) || Character.isWhitespace(srcStr.charAt(srcStr.length() - tokenLen - 1)) || extraDelimiterTest.test(srcStr.charAt(srcStr.length() - tokenLen - 1)));
-
containsIgnoreCase
public static boolean containsIgnoreCase (java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
Checks to ensure that'srcStr'
contains the'compareStr'
token.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtoken
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if'srcStr'
contains the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- See Also:
containsIgnoreCase(String, LV, String)
- Code:
- Exact Method Body:
return containsIgnoreCase (srcStr, new LV(srcStr, 0, srcStr.length()), extraDelimiterTest, token);
-
containsOR
public static boolean containsOR (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), contains at least one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains at least one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(false, OR, l, srcStr, extraDelimiterTest, tokens);
-
containsAND
public static boolean containsAND (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), contains every one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains every one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(false, AND, l, srcStr, extraDelimiterTest, tokens);
-
containsXOR
public static boolean containsXOR (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), contains exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(false, XOR, l, srcStr, extraDelimiterTest, tokens);
-
containsNAND
public static boolean containsNAND (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), does not contain any of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
does not contain any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(false, NAND, l, srcStr, extraDelimiterTest, tokens);
-
containsOR_CI
public static boolean containsOR_CI (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), contains at least one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains at least one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(true, OR, l, srcStr, extraDelimiterTest, tokens);
-
containsAND_CI
public static boolean containsAND_CI (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), contains every one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains every one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(true, AND, l, srcStr, extraDelimiterTest, tokens);
-
containsXOR_CI
public static boolean containsXOR_CI (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), contains exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(true, XOR, l, srcStr, extraDelimiterTest, tokens);
-
containsNAND_CI
public static boolean containsNAND_CI (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), does not contain any of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
does not contain any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
CONTAINS(boolean, byte, LV, String, String[])
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return CONTAINS(true, NAND, l, srcStr, extraDelimiterTest, tokens);
-
endsWithXOR
public static boolean endsWithXOR (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), ends with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
ends with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
endsWith(String, LV, String)
,XOR(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return XOR( "endsWithXOR", srcStr, tokens, cmp -> endsWith(srcStr, l, extraDelimiterTest, cmp) );
-
endsWithNAND
public static boolean endsWithNAND (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), does not end with any of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
does not end with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
endsWith(String, LV, String)
,NAND(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return NAND( "endsWithNAND", srcStr, tokens, cmp -> endsWith(srcStr, l, extraDelimiterTest, cmp) );
-
startsWithXOR
public static boolean startsWithXOR (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), starts with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
starts with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
startsWith(String, LV, String)
,XOR(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return XOR( "startsWithXOR", srcStr, tokens, cmp -> startsWith(srcStr, l, extraDelimiterTest, cmp) );
-
startsWithNAND
public static boolean startsWithNAND (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), does not start with any of the tokens supplied by the'tokens'
array.
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
does not start with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
startsWith(String, LV, String)
,NAND(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return NAND( "startsWithNAND", srcStr, tokens, cmp -> startsWith(srcStr, l, extraDelimiterTest, cmp) );
-
endsWithXOR_CI
public static boolean endsWithXOR_CI (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), ends with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
ends with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
endsWithIgnoreCase(String, LV, String)
,XOR(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return XOR( "endsWithXOR_CI", srcStr, tokens, cmp -> endsWithIgnoreCase(srcStr, l, extraDelimiterTest, cmp) );
-
endsWithNAND_CI
public static boolean endsWithNAND_CI (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), does not ends with any of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
does not ends with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
endsWithIgnoreCase(String, LV, String)
,NAND(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return NAND( "endsWithNAND_CI", srcStr, tokens, cmp -> endsWithIgnoreCase(srcStr, l, extraDelimiterTest, cmp) );
-
startsWithXOR_CI
public static boolean startsWithXOR_CI (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), starts with exactly one of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
starts with exactly one of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
startsWithIgnoreCase(String, LV, String)
,XOR(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return XOR( "startsWithXOR_CI", srcStr, tokens, cmp -> startsWithIgnoreCase(srcStr, l, extraDelimiterTest, cmp) );
-
startsWithNAND_CI
public static boolean startsWithNAND_CI (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String... tokens)
Checks to ensure that the'srcStr'
substring, which is demarcated by'sPos'
(inclusive) and'ePos'
(exclusive), does not start with any of the tokens supplied by the'tokens'
array.
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- TheString's
used in the comparison against'srcStr'
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
does not start with any of the user-provided tokens. Matches are only taken into consideration if they are delimited appropriately. Token-Matches are sufficient, while Sub-String-Matches are not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
startsWithIgnoreCase(String, LV, String)
,NAND(String, String, String[], Predicate)
- Code:
- Exact Method Body:
LV l = new LV(srcStr, sPos, ePos); return NAND( "startsWithNAND_CI", srcStr, tokens, cmp -> startsWithIgnoreCase(srcStr, l, extraDelimiterTest, cmp) );
-
startsWith
public static boolean startsWith (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
Checks whether or not a substring of'srcStr'
starts with the'compareStr'
token. The substring that is checked is demarcated by'sPos'
(inclusive), and'ePos'
(exclusive).
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtoken
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
starts with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
startsWith(String, LV, String)
- Code:
- Exact Method Body:
return startsWith(srcStr, new LV(srcStr, sPos, ePos), extraDelimiterTest, token);
-
startsWithIgnoreCase
public static boolean startsWithIgnoreCase (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
Checks whether or not a substring of'srcStr'
starts with the'compareStr'
token. The substring that is checked is demarcated by'sPos'
(inclusive), and'ePos'
(exclusive).
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtoken
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that begins atsrcStr.charAt(0)
, it will check the character directly after that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-terminus (matching'$'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
starts with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
startsWithIgnoreCase(String, LV, String)
- Code:
- Exact Method Body:
return startsWithIgnoreCase(srcStr, new LV(srcStr, sPos, ePos), extraDelimiterTest, token);
-
endsWith
public static boolean endsWith (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
Checks whether or not a substring of'srcStr'
ends with the'compareStr'
token. The substring that is checked is demarcated by'sPos'
(inclusive), and'ePos'
(exclusive).
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtoken
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
ends with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
endsWith(String, LV, String)
- Code:
- Exact Method Body:
return endsWith(srcStr, new LV(srcStr, sPos, ePos), extraDelimiterTest, token);
-
endsWithIgnoreCase
public static boolean endsWithIgnoreCase (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
Checks whether or not a substring of'srcStr'
ends with the'compareStr'
token. The substring that is checked is demarcated by'sPos'
(inclusive), and'ePos'
(exclusive).
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtoken
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match withinString
parameter'srcStr'
that ends atsrcStr.charAt(srcStr.length() - 1)
, it will check the character immediately preceding that match in order to ensure that it assumes only one of these three values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
ends with the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
endsWithIgnoreCase(String, LV, String)
- Code:
- Exact Method Body:
return endsWithIgnoreCase(srcStr, new LV(srcStr, sPos, ePos), extraDelimiterTest, token);
-
contains
public static boolean contains (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
Checks whether or not a substring of'srcStr'
contains the'compareStr'
token. The substring that is checked is demarcated by'sPos'
(inclusive), and'ePos'
(exclusive).
The test performed here ** is ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtoken
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
contains(String, LV, String)
- Code:
- Exact Method Body:
return contains(srcStr, new LV(srcStr, sPos, ePos), extraDelimiterTest, token);
-
containsIgnoreCase
public static boolean containsIgnoreCase (java.lang.String srcStr, int sPos, int ePos, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
Checks whether or not a substring of'srcStr'
contains the'compareStr'
token. The substring that is checked is demarcated by'sPos'
(inclusive), and'ePos'
(exclusive).
The test performed here ** is not ** case-sensitive.- Parameters:
srcStr
- Any non-null instance ofjava.lang.String
sPos
- This is the integer-indexString
-location which limits the left-most position to search in'srcStr'
. This value is 'inclusive,' meaning that if the character at this index (in'srcStr'
) is part of a match, it shall be factored into the return results. Note that if this value is negative, or larger than the length of'srcStr'
, an exception will be thrown.ePos
- This is the integer-indexString
-location which limits the right-most position to search in'srcStr'
. This value is 'exclusive,' meaning that if the character at this location is part of match, it will not be calculated into the results.
If this value is larger than the length of input-parameter'srcStr'
, an exception will throw.
NOTE: Passing a negative value to this parameter,'ePos'
, will cause its to be reset to the integer-value:srcStr.length()
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtoken
- TheString
used in the comparison againstsrcStr
When this method makestoken
comparisons using the inputString
-token parameter(s), if the logic finds a match anywhere withinString
parameter'srcStr'
, it will check both the character immediately preceding and the character directly after that match in order to ensure that they assume only one of these four values:
① white-space (matching'\s'
)
②String
-start (matching'^'
)
③String
-terminus (matching'$'
)
④ anycharacter
which passes the parameter-providedPredicate<Character>
delimiter test
- Returns:
TRUE
if the Sub-String consisting of the characters inside'srcStr'
, betweensPos
andePos
contains the specified token. A match is only taken into consideration if it is delimited appropriately. A Token-Match is sufficient, while a Sub-String-Match is not.- Throws:
java.lang.StringIndexOutOfBoundsException
- This exception shall be thrown if any of the following are true:- If
'sPos'
is negative, or ifsPos
is greater-than-or-equal-to thelength
of theString
- If
'ePos'
is zero, or greater than the length of theString
- If the value of
'sPos'
is a larger integer than'ePos'
. IfePos
was negative, it is first reset toString.length()
, before this check is done.
- If
- See Also:
containsIgnoreCase(String, LV, String)
- Code:
- Exact Method Body:
return containsIgnoreCase(srcStr, new LV(srcStr, sPos, ePos), extraDelimiterTest, token);
-
startsWith
protected static boolean startsWith (java.lang.String srcStr, LV l, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
This method remains'protected'
because it utilizes a specialized Loop-Control Variable Class Version of'LV'
. It is used internally by the search methods above.
-
startsWithIgnoreCase
protected static boolean startsWithIgnoreCase (java.lang.String srcStr, LV l, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
This method remains'protected'
because it utilizes a specialized Loop-Control Variable Class Version of'LV'
. It is used internally by the search methods above.
-
endsWith
protected static boolean endsWith (java.lang.String srcStr, LV l, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
This method remains'protected'
because it utilizes a specialized Loop-Control Variable Class Version of'LV'
. It is used internally by the search methods above.
-
endsWithIgnoreCase
protected static boolean endsWithIgnoreCase (java.lang.String srcStr, LV l, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
This method remains'protected'
because it utilizes a specialized Loop-Control Variable Class Version of'LV'
. It is used internally by the search methods above.
-
contains
protected static boolean contains (java.lang.String srcStr, LV l, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
This method remains'protected'
because it utilizes a specialized Loop-Control Variable Class Version of'LV'
. It is used internally by the search methods above.
-
containsIgnoreCase
protected static boolean containsIgnoreCase (java.lang.String srcStr, LV l, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String token)
This method remains'protected'
because it utilizes a specialized Loop-Control Variable Class Version of'LV'
. It is used internally by the search methods above.
-
CONTAINS
protected static boolean CONTAINS (boolean ignoresCase, byte booleanOperation, LV l, java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String[] tokens)
Implementing a 'contains' is more efficient by performing only one loop iteration. Therefore, the methods that implement some variant of theString.contains
method will use this general-purposecontains
-testing method.- Parameters:
ignoresCase
- This is used to signify whether to ignore case when performing theString
-comparison operations.booleanOperation
- This is designed to take one of four values. This method will throw an exception if it does not.l
- Loop end-point parametersrcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- This is one (or many) javaString's
, each of which shall be checked whether it is contained by'srcStr'
.- Returns:
- The appropriate response based on the inputs for boolean logic.
- Code:
- Exact Method Body:
int len = srcStr.length(); int count = (booleanOperation == XOR) ? 0 : tokens.length; int[] tokLenArr = new int[tokens.length]; for (int i=0; i < tokLenArr.length; i++) tokLenArr[i] = tokens[i].length(); for (int i=l.start; i < l.end; i++) for (int j=0; j < tokens.length; j++) if (tokLenArr[j] != -1) if (srcStr.regionMatches(ignoresCase, i, tokens[j], 0, tokLenArr[j])) if ( ( (i==0) || Character.isWhitespace(srcStr.charAt(i-1)) || extraDelimiterTest.test(srcStr.charAt(i-1))) && ( ((i + tokLenArr[j]) == len) || Character.isWhitespace(srcStr.charAt(i + tokLenArr[j])) || extraDelimiterTest.test(srcStr.charAt(i + tokLenArr[j]))) ) switch (booleanOperation) { case AND : tokLenArr[j] = -1; if (--count == 0) return true; else break; case XOR : tokLenArr[j] = -1; if (++count > 1) return false; else break; case OR : return true; case NAND : return false; default : throw new IllegalArgumentException (CONTAINS_EX.replace("BOOL", "" + booleanOperation)); } switch(booleanOperation) { case AND : return false; case OR : return false; case XOR : return count == 1; case NAND : return true; default : throw new IllegalArgumentException (CONTAINS_EX.replace("BOOL", "" + booleanOperation)); }
-
CONTAINS
protected static boolean CONTAINS (boolean ignoresCase, byte booleanOperation, java.lang.String srcStr, java.util.function.Predicate<java.lang.Character> extraDelimiterTest, java.lang.String[] tokens)
Implementing a 'contains' is more efficient by performing only one loop iteration. Therefore, the methods that implement some variant of theString.contains
method will use this general-purposecontains
-testing method.- Parameters:
ignoresCase
- This is used to signify whether to ignore case when performing theString
-comparison operations.booleanOperation
- This is designed to take one of four values. This method will throw an exception if it does not.srcStr
- Any non-null instance ofjava.lang.String
extraDelimiterTest
- Can be used if characters other than white-space should be considered astoken-delimiters
. UsefulCharPredicate's
to this parameter are, for example, tests to further allow punctuation - commas, periods, parenthesis, etc... as match boundaries.
UsefulPredicate's
to provide might include (but are not limited to) the following:
①Character::isSpaceChar
(includes UNICODE White-Space)
②Character::isDigit
③c -> ".,:;!?()".contains(c) (Miscellaneous Punctuation)
④ Any character test of your choosingtokens
- This is one (or many) javaString's
, each of which shall be checked whether it is contained by'srcStr'
.- Returns:
- The appropriate response based on the inputs for boolean logic.
- Code:
- Exact Method Body:
int count = (booleanOperation == XOR) ? 0 : tokens.length; int len = srcStr.length(); int[] tokLenArr = new int[tokens.length]; for (int i=0; i < tokLenArr.length; i++) tokLenArr[i] = tokens[i].length(); for (int i=0; i < len; i++) for (int j=0; j < tokens.length; j++) if (tokLenArr[j] != -1) if (srcStr.regionMatches(ignoresCase, i, tokens[j], 0, tokLenArr[j])) if ( ( (i==0) || Character.isWhitespace(srcStr.charAt(i-1)) || extraDelimiterTest.test(srcStr.charAt(i-1))) && ( ((i+tokLenArr[j]) == len) || Character.isWhitespace(srcStr.charAt(i+tokLenArr[j])) || extraDelimiterTest.test(srcStr.charAt(i+tokLenArr[j]))) ) switch (booleanOperation) { case AND : tokLenArr[j] = -1; if (--count == 0) return true; else break; case XOR : tokLenArr[j] = -1; if (++count > 1) return false; else break; case OR : return true; case NAND : return false; default : throw new IllegalArgumentException (CONTAINS_EX.replace("BOOL", "" + booleanOperation)); } switch(booleanOperation) { case AND : return false; case OR : return false; case XOR : return count == 1; case NAND : return true; default : throw new IllegalArgumentException (CONTAINS_EX.replace("BOOL", "" + booleanOperation)); }
-
-