Files
2026-06-23 21:47:51 +08:00

61 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# StringSplit
Gets substrings by a specified separator from the specified string, returns the number of substrings obtained.
```
int  StringSplit(
   const string   string_value,       // A string to search in
   const ushort   separator,          // A separator using which substrings will be searched
   string         & result[]          // An array passed by reference to get the found substrings
   );
```
Parameters
string_value
[in]  The string from which you need to get substrings. The string will not change.
pos
[in]  The code of the separator character. To get the code, you can use the [StringGetCharacter()](/en/docs/strings/stringgetcharacter) function.
result[]
[out]  An array of strings where the obtained substrings are located.
Return Value
The number of substrings in the result[] array. If the separator is not found in the passed string, only one source string will be placed in the array.
If string_value is empty or NULL, the function will return zero. In case of an error the function returns -1. To get the [error](/en/docs/constants/errorswarnings/errorcodes) code, call the [GetLastError()](/en/docs/check/getlasterror) function.
Example:
```
string to_split="_life_is_good_"; // A string to split into substrings
   string sep="_";                // A separator as a character
   ushort u_sep;                  // The code of the separator character
   string result[];               // An array to get strings
   //--- Get the separator code
   u_sep=StringGetCharacter(sep,0);
   //--- Split the string to substrings
   int k=StringSplit(to_split,u_sep,result);
   //--- Show a comment 
   PrintFormat("Strings obtained: %d. Used separator '%s' with the code %d",k,sep,u_sep);
   //--- Now output all obtained strings
   if(k>0)
     {
      for(int i=0;i<k;i++)
        {
         PrintFormat("result[%d]=\"%s\"",i,result[i]);
        }
     }
```
See also
[StringReplace()](/en/docs/strings/stringreplace), [StringSubstr()](/en/docs/strings/stringsubstr), [StringConcatenate()](/en/docs/strings/stringconcatenate)