String comparison: Difference between revisions
Content added Content deleted
(FutureBasic solution added) |
|||
Line 2,161: | Line 2,161: | ||
Dog is equal to dog if case is ignored |
Dog is equal to dog if case is ignored |
||
Dog is not equal to Pig |
Dog is not equal to Pig |
||
</pre> |
|||
=={{header|FutureBasic}}== |
|||
<syntaxhighlight lang="futurebasic"> |
|||
void local fn StringComparison |
|||
CFStringRef s1, s2 |
|||
NSComparisonResult result |
|||
window 1, @"String Comparison" |
|||
print @"• equal - case sensitive •" |
|||
s1 = @"alpha" : s2 = @"alpha" |
|||
if ( fn StringIsEqual( s1, s2 ) ) |
|||
printf @"\"%@\" is equal to \"%@\"",s1,s2 |
|||
end if |
|||
result = fn StringCompare( s1, s2 ) |
|||
if ( result == NSOrderedSame ) |
|||
printf @"\"%@\" is equal to \"%@\"",s1,s2 |
|||
end if |
|||
select ( s1 ) |
|||
case s2 |
|||
printf @"\"%@\" is equal to \"%@\"",s1,s2 |
|||
case else |
|||
printf @"\"%@\" is not equal to \"%@\"",s1,s2 |
|||
end select |
|||
print @"\n• not equal - case sensitive •" |
|||
s2 = @"bravo" |
|||
if ( fn StringIsEqual( s1, s2 ) == NO ) |
|||
printf @"\"%@\" is not equal to \"%@\"",s1,s2 |
|||
end if |
|||
result = fn StringCompare( s1, s2 ) |
|||
if ( result != NSOrderedSame ) |
|||
printf @"\"%@\" is not equal to \"%@\"",s1,s2 |
|||
end if |
|||
select ( s1 ) |
|||
case s2 |
|||
printf @"\"%@\" is equal to \"%@\"",s1,s2 |
|||
case else |
|||
printf @"\"%@\" is not equal to \"%@\"",s1,s2 |
|||
end select |
|||
print @"\n• ordered before - case sensitive •" |
|||
result = fn StringCompare( s1, s2 ) |
|||
if ( result == NSOrderedAscending ) |
|||
printf @"\"%@\" is ordered before \"%@\"",s1,s2 |
|||
end if |
|||
print @"\n• ordered after - case sensitive •" |
|||
result = fn StringCompare( s2, s1 ) |
|||
if ( result == NSOrderedDescending ) |
|||
printf @"\"%@\" is ordered after \"%@\"",s2,s1 |
|||
end if |
|||
print @"\n• equal - case insensitive •" |
|||
s2 = @"AlPhA" |
|||
result = fn StringCaseInsensitiveCompare( s1, s2 ) |
|||
if ( result == NSOrderedSame ) |
|||
printf @"\"%@\" is equal to \"%@\"",s1,s2 |
|||
end if |
|||
result = fn StringCompareWithOptions( s1, s2, NSCaseInsensitiveSearch ) |
|||
if ( result == NSOrderedSame ) |
|||
printf @"\"%@\" is equal to \"%@\"",s1,s2 |
|||
end if |
|||
if ( fn StringIsEqual( lcase(s1), lcase(s2) ) ) |
|||
printf @"\"%@\" is equal to \"%@\"",s1,s2 |
|||
end if |
|||
end fn |
|||
fn StringComparison |
|||
HandleEvents |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
• equal - case sensitive • |
|||
"alpha" is equal to "alpha" |
|||
"alpha" is equal to "alpha" |
|||
"alpha" is equal to "alpha" |
|||
• not equal - case sensitive • |
|||
"alpha" is not equal to "bravo" |
|||
"alpha" is not equal to "bravo" |
|||
"alpha" is not equal to "bravo" |
|||
• ordered before - case sensitive • |
|||
"alpha" is ordered before "bravo" |
|||
• ordered after - case sensitive • |
|||
"bravo" is ordered after "alpha" |
|||
• equal - case insensitive • |
|||
"alpha" is equal to "AlPhA" |
|||
"alpha" is equal to "AlPhA" |
|||
"alpha" is equal to "AlPhA" |
|||
</pre> |
</pre> |
||