CSVfox
Get the job done.
 English

±replaceat

Replaces a position-defined part of a CSV table field with a replacement expression

Description

Replaces certain sections of a data field with a replacement content.
The replacement ist defined via start position and length, or via start and end of the part that shall be replaced by another string.
The positon definition and the new content are separated by a slash separator ("/") .
The replacement pairs are then separated by commas.

The section to be replaced and the new content can be of different length. In this case, the overall length of the data field will change accordingly.
The start position begins with 1.
The start and stop definition should be enclosed with brackets to hide the comma from the comma-separated list.

A single replacement

Pattern

±replaceat[Field]=(start-stop)/NewContent ±replaceat[Field]=(start+length)/NewContent

-replaceat[field]=(3-8)/NewContent replaces the characters from position 3 to 8 with the new content.
-replaceat[field]=(3+8)/NewContent replaces 8 characters, starting from position 3. (i.e., positions 3 to 10 will be replaced.)

Do not forget to escape all brackets and other special characters in the replacement content by prepending a backslash, see also Placeholders .

The replacement content can be a literal string, some field content, or a more complex expression.
This expression will be resolved before replacement takes place.

Replacing multiple data fields in the same way

Pattern

±replaceat[Field],[Field]-[Field],...=(start-stop)/NewContent ±replaceat[Field],[Field],...=(start+length)/NewContent

When more data fields are given as a list, then the same replacement will be applied to all data fields in this list.
When the special field name [*] is used, this means that replacement will take place in all data fields of the current table row.

Replacing multiple positions with new content

Pattern

±replaceat[Field]=(start-stop)/NewContent,(start-stop)/NewContent,... ±replaceat[Field],[Field],[Field]=(start+length)/NewContent,... ±replaceat[Field]=(start-stop)/(start-stop)/NewContent,...

You can also replace more than one content part with a common replacement. To achieve this, all parts to replace, as well as the replacement, are concaternated with a slash, the last part of this combination is then interpreted as the replacement.



 
Under construction, coming soon