From 64bd70ca19ce0b1ea03189e32b44be5fbccb5553 Mon Sep 17 00:00:00 2001 From: Joe Freeman Date: Mon, 1 Jul 2024 11:32:53 -0400 Subject: [PATCH 1/3] restore names when negative sign is in between words --- lib/extensions/string.dart | 2 +- test/extensions/strings_test.dart | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/extensions/string.dart b/lib/extensions/string.dart index bdc275f..22ad1af 100644 --- a/lib/extensions/string.dart +++ b/lib/extensions/string.dart @@ -5,7 +5,7 @@ const negativeNumberPreface = 'Negative'; extension StringExtension on String { String get alphanumeric { // Match '-' only if it is followed by a digit and replace with negativeNumberPreface - final patternNegative = RegExp(r'-(?=\d)'); + final patternNegative = RegExp(r'^(-)(?=\d)'); // Match all non alphanumeric characters (excluding negativeNumberPreface replacements) and replace them with a space final patternNonAlphanumeric = RegExp(r'[^a-zA-Z0-9]'); diff --git a/test/extensions/strings_test.dart b/test/extensions/strings_test.dart index 0e81ee9..0463ad0 100644 --- a/test/extensions/strings_test.dart +++ b/test/extensions/strings_test.dart @@ -35,5 +35,14 @@ void main() { test('extension alphanumeric negative numbers', () { final test = '-4'; expect(test.alphanumeric, 'Negative4'); + final test2 = '-4-grey'; + expect(test2.alphanumeric, 'Negative4Grey'); + }); + + test('extension alphanumeric with minus sign', () { + final test = 'White-4'; + expect(test.alphanumeric, 'White4'); + final test2 = 'White-4-dog'; + expect(test2.alphanumeric, 'White4Dog'); }); } From 00925fa9573fa3202fb5c594347b7f7d6c68b1de Mon Sep 17 00:00:00 2001 From: Joe Freeman Date: Mon, 1 Jul 2024 11:35:21 -0400 Subject: [PATCH 2/3] add a test --- test/extensions/strings_test.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/extensions/strings_test.dart b/test/extensions/strings_test.dart index 0463ad0..12bc8fb 100644 --- a/test/extensions/strings_test.dart +++ b/test/extensions/strings_test.dart @@ -37,6 +37,8 @@ void main() { expect(test.alphanumeric, 'Negative4'); final test2 = '-4-grey'; expect(test2.alphanumeric, 'Negative4Grey'); + final test3 = '--4'; + expect(test3.alphanumeric, '4'); }); test('extension alphanumeric with minus sign', () { From 9e031f341a9969fbad5b6686648f032c83588292 Mon Sep 17 00:00:00 2001 From: Joe Freeman Date: Mon, 1 Jul 2024 11:45:24 -0400 Subject: [PATCH 3/3] Another test --- test/extensions/strings_test.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/extensions/strings_test.dart b/test/extensions/strings_test.dart index 12bc8fb..425c0ff 100644 --- a/test/extensions/strings_test.dart +++ b/test/extensions/strings_test.dart @@ -39,6 +39,8 @@ void main() { expect(test2.alphanumeric, 'Negative4Grey'); final test3 = '--4'; expect(test3.alphanumeric, '4'); + final test4 = '-grey-4'; + expect(test4.alphanumeric, 'Grey4'); }); test('extension alphanumeric with minus sign', () {