stringaux NSE Library — Nmap Scripting Engine documentation (original) (raw)

Functions

Auxiliary functions for string manipulation

Author:

Copyright © Same as Nmap--See https://nmap.org/book/man-legal.html

Source: https://svn.nmap.org/nmap/nselib/stringaux.lua

Functions

filename_escape (s)

Escape a string to remove bytes and strings that may have meaning to a filesystem, such as slashes.

ipattern (pattern)

Returns the case insensitive pattern of given parameter

strjoin (delimiter, list)

Join a list of strings with a separator string.

strsplit (pattern, text)

Split a string at a given delimiter, which may be a pattern.

Functions

filename_escape (s)

Escape a string to remove bytes and strings that may have meaning to a filesystem, such as slashes.

All bytes are escaped, except for:

Bytes are escaped by a percent sign followed by the two-digit hexadecimal representation of the byte value.

Parameters

s

ipattern (pattern)

Returns the case insensitive pattern of given parameter

Useful while doing case insensitive pattern match using string library.https://stackoverflow.com/questions/11401890/case-insensitive-lua-pattern-matching/11402486#11402486

Parameters

pattern

The string

Usage:

stringaux.ipattern("user") --> "[uU][sS][eE][rR]"

Return value:

A case insensitive patterned string

strjoin (delimiter, list)

Join a list of strings with a separator string.

This is Lua's table.concat function with the parameters swapped for coherence.

Parameters

delimiter

String to delimit each element of the list.

list

Array of strings to concatenate.

Usage:

stringaux.strjoin(", ", {"Anna", "Bob", "Charlie", "Dolores"}) --> "Anna, Bob, Charlie, Dolores"

Return value:

Concatenated string.

strsplit (pattern, text)

Split a string at a given delimiter, which may be a pattern.

If you want to loop over the resulting values, consider using string.gmatch instead.

Parameters

pattern

Pattern that separates the desired strings.

text

String to split.

Usage:

stringaux.strsplit(",%s*", "Anna, Bob, Charlie, Dolores") --> { "Anna", "Bob", "Charlie", "Dolores" }

Return value:

Array of substrings without the separating pattern.