Return the leftmost (if back is either absent or equals false, otherwise the rightmost) character of string that is not
in set. If all characters of string are found in set, the result is zero.
type(string) :: string1
type(string) :: string2
logical :: test_passed(2)
string1 = 'Hello World Hello!'
string2 = 'llo'
test_passed(1) = string1%verify(set=string2)==verify(string='Hello World Hello!', set='llo')
test_passed(2) = string1%verify(set=string2, back=.true.)==verify(string='Hello World Hello!', set='llo', back=.true.)
print '(L1)', all(test_passed)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(string), | intent(in) | :: | self |
The string. |
||
| type(string), | intent(in) | :: | set |
Searched set. |
||
| logical, | intent(in), | optional | :: | back |
Start of the last occurrence rather than the first. |
Result of the search.
elemental function sverify_string_string(self, set, back) result(i) !< Return the leftmost (if `back` is either absent or equals false, otherwise the rightmost) character of string that is not !< in `set`. If all characters of `string` are found in `set`, the result is zero. !< !<```fortran !< type(string) :: string1 !< type(string) :: string2 !< logical :: test_passed(2) !< string1 = 'Hello World Hello!' !< string2 = 'llo' !< test_passed(1) = string1%verify(set=string2)==verify(string='Hello World Hello!', set='llo') !< test_passed(2) = string1%verify(set=string2, back=.true.)==verify(string='Hello World Hello!', set='llo', back=.true.) !< print '(L1)', all(test_passed) !<``` !=> T <<< class(string), intent(in) :: self !< The string. type(string), intent(in) :: set !< Searched set. logical, intent(in), optional :: back !< Start of the last occurrence rather than the first. integer :: i !< Result of the search. if (allocated(self%raw).and.allocated(set%raw)) then i = verify(string=self%raw, set=set%raw, back=back) else i = 0 endif endfunction sverify_string_string