From 3d73abc2ffcaf59807cb3536e93d6fcbc1d82e20 Mon Sep 17 00:00:00 2001 From: Martin Czygan Date: Fri, 31 Jan 2020 17:14:53 +0100 Subject: [PATCH] doaj: dois containing issn are not issn --- formats/doaj/oaidc.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/formats/doaj/oaidc.go b/formats/doaj/oaidc.go index 82b9a9de..9b459e17 100644 --- a/formats/doaj/oaidc.go +++ b/formats/doaj/oaidc.go @@ -130,8 +130,13 @@ func (record Record) JournalTitle() string { // ISSN returns ISSN, if available. func (record Record) ISSN() (issn []string) { - re := regexp.MustCompile(`[0-9]{4,4}-[0-9xX]{4,4}`) + // 10.1186/1471-230X-10-35, https://play.golang.org/p/-f0TVWQYjw5 + re := regexp.MustCompile(`^[0-9]{4,4}-[0-9xX]{4,4}$`) for _, v := range record.Metadata.Dc.Identifier { + v = strings.TrimSpace(v) + if len(v) == 8 { + v = v[:4] + "-" + v[4:] + } if re.MatchString(v) { issn = append(issn, v) }