Thank-you Walter, this works perfectly .... except it doesn't remove $c. I can easily do that separately, but then I am left with the usual problem of what to do with the varying end punctuation in $b, or $a (if there is no $b)
My usual compromise is to do nothing! Almost always what remains of the 300 will end (correctly) in a period.
Anne Newnham
Cataloguing Dept
University of Auckland
General Library
3737599 x 88047
[log in to unmask]
-----Original Message-----
From: MarcEdit support in technical and instructional matters [mailto:[log in to unmask]] On Behalf Of Nickeson, Walter
Sent: Friday, 9 December 2011 10:47 a.m.
To: [log in to unmask]
Subject: Re: Convert 300 field to provider neutral
This question came up almost exactly two years ago, but I don't seem to
have a record of the answer given then.
Try this:
Find: (?<a>=300.+?\$a)(.*?)( .\$)
Replace: ${a}1 online resource ($1)$2
This says: Find a 300 field and grab everything up through delimiter a,
and call that matched string "a". Then grab what follows, up until two
characters before the next delimiter (the question mark stops the
matching quest from continuing until the last delimiter). The first of
those characters is a space, and the second character will be a colon or
semicolon. (This assumes all the fields have ISBD punctuation.)
The replacement string starts with what was found with the match group
called "a" (I gave this string a name, otherwise the replacement string
would start: "$11 online ..." which the regex engine would think means
use replacement group 11, something that doesn't exist). That's followed
by the contents of subfield $a (the match group labeled "1", even though
it's the second match group), placed within parentheses, which is
followed by the space-punctuation-delimiter (match group 2). The rest of
the field remains untouched.
*****************************************
Walter F. Nickeson, Catalog &
Metadata Management Librarian
Rush Rhees Library
University of Rochester
Rochester, NY 14627-0055
[log in to unmask]
(585) 273-2326 fax: (585) 273-1032
*****************************************
> -----Original Message-----
> From: MarcEdit support in technical and instructional matters
> [mailto:[log in to unmask]] On Behalf Of Anne Newnham
> Sent: Thursday, December 08, 2011 2:35 PM
> To: [log in to unmask]
> Subject: [MARCEDIT-L] Convert 300 field to provider neutral
>
> Hi,
> I'm sure I'm not the only one who receives large packages of e-book
records
> where the 300 field still describes the print version.
>
> For example:
>
> $aiv, 345 p. ; $c 23 cm.
>
> Or
>
> $axxx, 277 p. :$bill. ; $c 23 cm.
>
> Has anyone worked out how to convert this to:
>
> 1 online resource (iv, 345 p.)
>
> Or
> 1 online resource (xxx, 277 p.) :$bill.
>
>
> Anne Newnham
> Assistant Librarian, Cataloguing
> University of Auckland
> Auckland, New Zealand
> 3737599 x 88047
> [log in to unmask]
>
> __________________________________________________________
> ______________
>
> This message comes to you via MARCEDIT-L, a Listserv(R) list for
technical and
> instructional support in MarcEdit. If you wish to communicate
directly with
> the list owners, write to [log in to unmask] To
> unsubscribe, send a message "SIGNOFF MARCEDIT-L" to
> [log in to unmask]
________________________________________________________________________
This message comes to you via MARCEDIT-L, a Listserv(R) list for technical and instructional support in MarcEdit. If you wish to communicate directly with the list owners, write to [log in to unmask] To unsubscribe, send a message "SIGNOFF MARCEDIT-L" to [log in to unmask]
________________________________________________________________________
This message comes to you via MARCEDIT-L, a Listserv(R) list for technical and instructional support in MarcEdit. If you wish to communicate directly with the list owners, write to [log in to unmask] To unsubscribe, send a message "SIGNOFF MARCEDIT-L" to [log in to unmask]
|