package net.sf.jabref.export.layout.format; import net.sf.jabref.export.layout.LayoutFormatter; import net.sf.jabref.Globals; /** * Will strip any prefixes from the DOI field, in order to output only the DOI number * * @author mark-schenk * */ public class DOIStrip implements LayoutFormatter { public String format(String fieldText) { if (fieldText == null){ return null; } fieldText = fieldText.trim(); if (fieldText.length() == 0){ return fieldText; } // If starts with '10.' it's fine if (fieldText.startsWith("10.")) { return fieldText; } // Remove possible 'doi:' if (fieldText.matches("^doi:/*.*")){ fieldText = fieldText.replaceFirst("^doi:/*", ""); return fieldText; } // Remove possible 'http://dx.doi.org/' prefix if (fieldText.startsWith(Globals.DOI_LOOKUP_PREFIX)){ fieldText = fieldText.replaceFirst(Globals.DOI_LOOKUP_PREFIX, ""); return fieldText; } return fieldText; } }