Edit Subfield — Append, Moving, Prepend, and Change Subfield Functions

Special Characters/Functions:

One of the new features added to the replace text dialog box is the ability to append data to the beginning or end of a subfield.

Prepend Data to subfield:
Special Character: ^b

Description:
To simply prepend data to the beginning of a subfield, add ^b to the Field Data: textbox and the data to be appended in the Replace

To prepend data to the beginning of the subfield while replacing a text string, add ^b[string to replace] to the Field Data textbox and the data to be appended in the Replace With textbox.

Change Subfield Character:
Special Characters: ^c

To change a subfield from one character to another (i.e., change $a to $b), add ^c to the Field Data textbox and the replacement character into the Replace With textbox.

Append Data to subfield:
Special Characters: ^e

Description:
To simply append data to the end of a subfield, add ^e to the Field Data: textbox and the data to be appended in the Replace With: textbox.

To append data to the end of the subfield while replacing a text string, add ^e[string to replace] to the Field Data textbox and the data to be appended in the Replace With textbox.

Moving Subfield Data:

Description:
MarcEdit includes a very old syntax to allow data to be moved from between subfields.  The operation works using a pipe syntax in the replace field to help the program know which value to move where.  Since this function was created prior to the development of the Swap Field or Build New Field function, these functions may meet your needs better.

Syntax/Specs:
This tool was originally put in place to help simplify the process of moving data in the 260$c into the 008.  Using this as the example, I’ll walk through how this option works.

Edit Subfield Move Field Example

Edit Subfield Move Field Example: Demonstrates how to move data from the 260$c into the 008 first date field.

To use the function, data in the Field and Subfield options should be set to the field you are moving data from.  In this case, the 260$c.  The Find text box can be used to identify a specific field.  So, if you were looking for a specific 260 field — you could use data in the find text box to help isolate a specific field.  If you don’t do this, and there are multiple fields of the same type — the program will end up keeping the last value that satisfies the move in the record.  In the replace function, you enter the special move field pipe syntax.  This syntax has 4 values:

  • field to move
  • subfield or character position [for control data]
  • data to normalize
  • constant data to add

So, for the 008 — this would be represented as:
008|7|. ?u|

And this reads as — move data from the 260$c to the 008.  Replace data starting at position 7, and replace all characters to the length of the data in the 260$c.  Remove from the 260$c any data that includes the characters “. ?u” for anywhere in the data being moved.  Please note, the data to be normalized doesn’t support expressions and isn’t a traditional trim operation (where data is trimmed from the start and end of a field.  It is a normalizer, meaning that it will remove the specified data from *anywhere* within the subfield data defined for move.

Please see: https://blog.reeset.net/archives/728 for more information.