| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Very often you come to situations where you either have a string that
you would like to break up into smaller strings based on a regular
substring, or conversely where you have a number of strings you would
like to paste together to make up one single string. For this purpose
you can use the efuns explode() and implode().
The efun explode() takes two two strings as arguments, the first is
the string you want to break up, and the second is the pattern that
explode() looks for as a marker of where to break the string. It
returns an array of strings holding the result. The efun implode()
takes an array and a string as arguments, returning one string made up
from the contents of the array with the string argument pasted in between
all elements.
string *explode(string str, string expstr)
string implode(string *strlist, string impstr)
e.g.
string fruit = "apple and banana and pear " +
"and orange and fatty eating it all";
string *fruit_list;
fruit_list = explode(fruit, " and ");
dump_array(fruit_list);
/* The result is:
(Array)
[0] = (string) "apple"
[1] = (string) "banana"
[2] = (string) "pear"
[3] = (string) "orange"
[4] = (string) "fatty eating it all"
*/
fruit = implode(fruit_list, ", ");
write(fruit + "\n");
// The result is:
// apple, banana, pear, orange, fatty eating it all
|