An unofficial extension for providing handy string-related primitives in NetLogo.
see https://github.com/NetLogo/String-Extension/releases
The following reporters are provided:
to-list-- turns a string into a list (of one-character strings)from-list-- turns a list into a string (works with all NetLogo datatypes)from-file-- read an entire file into a string with one commandfrom-list-- turns a list into a stringhash-codemd5-- generate the MD5 hash for a stringrex-match?-- search in strings using standard regular expressions and returns a boolean if a match is found.rex-replace-first,rex-replace-allreturns a string in which the rex has been replacedrex-splitreturns a list split by the rex.starts-with?,ends-with?-- match a string against the start or end of another stringtrim-- removes initial and trailing whitespaceupper-case,lower-case-- alter the letter case of strings
Run make.
If compilation succeeds, string.jar will be created.
To run the tests in tests.txt, run make test.
To build a release package, run make string.zip.
Ideas for possible additional primitives:
ascii-code <character>-- returns the ASCII index of the given character (the first character of the string), or 0 for non-ASCII charactersfrom-ascii <integer>-- returns the ASCII character corresponding to the given small integer indexlast-index-of <needle> <haystack>-- reports the index of the last occurrence of needle in haystack, or false, if needle does not occursplit-on-character <string> <single-char-delimiter>-- reports a list by splitting string using the given single character`split-on-string <string> <string-delimiter>-- reports a list formed by splitting string using the string-delimiterposition-regex <regex-needle> <haystack>
The string extension was written by James Steiner of turtleZERO.com.
The NetLogo string extension is in the public domain. To the extent possible under law, James Steiner has waived all copyright and related or neighboring rights.
