diff --git a/lib/src/slugify.dart b/lib/src/slugify.dart index 4a631cd..eaa5b17 100644 --- a/lib/src/slugify.dart +++ b/lib/src/slugify.dart @@ -1,6 +1,6 @@ import 'replacements.dart'; -final _dupeSpaceRegExp = RegExp(r'\s{2,}'); +final _dupeSpaceRegExp = RegExp(r'[-\s]+'); final _punctuationRegExp = RegExp(r'[^\w\s-]'); /// Converts [text] to a slug [String] separated by the [delimiter]. @@ -17,10 +17,10 @@ String slugify(String text, {String delimiter = '-', bool lowercase = true}) { replacements.forEach((k, v) => slug = slug.replaceAll(k, v)); slug = slug - // Condense whitespaces to 1 space. - .replaceAll(_dupeSpaceRegExp, ' ') // Remove punctuation. .replaceAll(_punctuationRegExp, '') + // Condense whitespaces to 1 space. + .replaceAll(_dupeSpaceRegExp, ' ') // Replace space with the delimiter. .replaceAll(' ', delimiter);