| Home CBM ASCII-X BASIC Disk Commands Enter RUN mode Program Format Secret Variables Variable Format Expressions Keywords (divide) (equal) (less) (minus) (more) (multiply) (plus) (power) Abs And Append Asc Atn Auto Backup Bank Begin Bend Bload Boot Box Bsave Bump Catalog Char Chr Circle Close Clr Cmd Collect Collision Color Concat Cont Copy Cos Data Dclear Dclose Dec Def Delete Dim Directory Dispose Dload Do Dopen Draw Ds Ds string Dsave Dverify El Else End Envelope Er Err Exit Exp Fast Fetch Filter Fn For Fre Get Get num Getkey Go Gosub Goto Graphic Gshape Header Help Hex If Input Input num Instr Int Joy Key Left Len Let List Load Locate Log Loop Mid Monitor Movspr New Next Not Off On Open Or Paint Peek Pen Pi Play Pointer Poke Pos Pot Print num Pudef Quit Rclr Rdot Read Record Rem Rename Renumber Restore Resume Return Rgr Right Rlum Rnd Rreg Rspcolor Rsppos Rsprite Run Rwindow Save Scale Scnclr Scratch Sgn Sin Sleep Slow Sound Spc Sprcolor Sprdef Sprite Sprsav Sqr Sshape St Stash Step Stop Str Swap Sys Tab Tan Tempo Then Ti Ti string To Trap Troff Tron Until Using Usr Val Verify Vol Wait While Width Window Xor Syntax Tokens C128 D64plus Disk Escape Codes Hardware PCxface PETSCII Pet2asc Futurama IBM PC-AT Contact Games Glossary Hall of fame Hall of shame Miscellaneous Privacy policy Programming Twisty puzzles |
INSTR ( haystack , needle [ , start ] )
String search; finds the location of a needle in the haystack.
The INSTR function searches a string, haystack, (from left to right) for the first occurance of a string, needle, beginning from the start position (default 1) and returns the found position. Both start and found are a 1-based character position within haystack. If needle is not found, zero is returned. BASIC does a binary comparison, so the case of characters is important, and special characters (like NULL and RETURN) may be included. Both haystack and needle are required; if either is missing (or an invalid expression), SYNTAX ERROR is generated. Both must be string expressions, otherwise TYPE MISMATCH ERROR occurs. You may use STR$ to convert a numeric expression into a string. If needle is an empty string, or start is greater than the length of haystack then INSTR returns zero. The start parameter defaults to 1 if omitted. If not numeric, TYPE MISMATCH ERROR occurs. Floating-point values will (effectively) be converted with INT. If the value is not legal (see above table), an ILLEGAL QUANTITY ERROR is generated. The start parameter is useful to find an additional occurance(s) of needle (by using the previous found value plus 1) in the same haystack, or to skip the first start-1 characters of the haystack. The INSTR function is great for parsing text for versions of BASIC where it is available; it is both compact to write and fast to execute. Older versions of BASIC need a relatively slow pair of program loops to find a sub-string. Examples:
© H2Obsession, 2014 |