String search: Difference between revisions

From Cuis CookBook
Jump to navigation Jump to search
(imported material)
 
(syntax hilight)
Line 10: Line 10:
* <code>findString: subString startingAt: anIndex caseSensitive: aBoolean</code> : case sensitive version.
* <code>findString: subString startingAt: anIndex caseSensitive: aBoolean</code> : case sensitive version.


For example:
For example:<syntaxhighlight lang="smalltalk">
'foobarbaz' findString: 'foo'. "=> 1"
'foobarbaz' findString: 'foo'. "=> 1"
'foobarbaz' findString: 'bar'. "=> 4"
'foobarbaz' findString: 'bar'. "=> 4"
'foobarbaz' findString: 'baz'. "=> 7"
'foobarbaz' findString: 'baz'. "=> 7"
</syntaxhighlight>
And returns 0 if substring is not found:
'foobarbaz' findString: 'hello' "=> 0"
And returns 0 if substring is not found:<syntaxhighlight lang="smalltalk">
'foobarbaz' findString: 'hello' "=> 0"
</syntaxhighlight>

Revision as of 19:58, 12 May 2025

Problem

Search a sub string of some String.

Solution

Use the String>>findString: methods variations:

  • findString: subString : Answers the index of subString within the receiver, starting at start. If the receiver does not contain subString, answers 0.
  • findString: subString startingAt: anIndex: Same as findString, but starting at index.
  • findString: subString startingAt: anIndex caseSensitive: aBoolean : case sensitive version.

For example:

'foobarbaz' findString: 'foo'. "=> 1" 
'foobarbaz' findString: 'bar'. "=> 4" 
'foobarbaz' findString: 'baz'. "=> 7"

And returns 0 if substring is not found:

'foobarbaz' findString: 'hello' "=> 0"