Files
Hacki/lib/extensions/string_extension.dart
Jiaqi Feng 5450eba64b fix RegExp. (#82)
* fix regexp.

* bump version.
2022-12-19 13:51:10 -08:00

29 lines
834 B
Dart

import 'package:hacki/config/constants.dart';
extension StringExtension on String {
int? get itemId {
final RegExp regex = RegExp(RegExpConstants.number);
final RegExp exception = RegExp(RegExpConstants.linkSuffix);
final String match = regex.stringMatch(replaceAll(exception, '')) ?? '';
return int.tryParse(match);
}
bool get isStoryLink => contains('news.ycombinator.com/item');
String removeAllEmojis() {
final RegExp regex = RegExp(
r'(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])',
);
return replaceAllMapped(regex, (_) => '');
}
}
extension OptionalStringExtension on String? {
bool get isNullOrEmpty {
if (this == null) return true;
return this!.trim().isEmpty;
}
bool get isNotNullOrEmpty => !isNullOrEmpty;
}