DelphiBasics
AnsiPos
Function
Find the position of one string in another StrUtils unit
 function AnsiPos(const Needle, HayStack string):Integer;
Description
The AnsiPos function looks for a substring Needle in a string HayStack, returning the position in the string of the first occurence.
 
All Ansi commands support multi-byte and accented characters.
 
If the string is not found, 0 is returned.
 
The search is case sensitive.
Notes
Note that strings start at position 1.

Multi-byte character sets are operating system defined. For example, Oriental versions of Windows uses multi-byte characters to support thier very large set of primitives ('letters').
Related commands
AnsiIndexStrCompares a string with a list of strings - returns match index
AnsiMatchStrReturns true if a string exactly matches one of a list of strings
LastDelimiterFind the last position of selected characters in a string
StrScanSearches for a specific character in a constant string
 Download this web site as a Windows program.




 
Example code : Find a word in a sentence
var
  position : Integer;

begin
  // Look for the word 'Cat' in a sentence
  // Note : that this search is case sensitive, so that
  //        the first 'cat' is not matched
  position := AnsiPos('Cat', 'The cat sat on the Cat mat');
  if position = 0
  then ShowMessage('''Cat'' not found in the sentence')
  else ShowMessage('''Cat'' was found at character '+IntToStr(position));
end;
Show full unit code
  'Cat' was found at character 20
 
Delphi Programming © Neil Moffatt . All rights reserved.  |  Home Page