stringr

Creator: coderz1093

Last updated:

0 purchases

stringr Image
stringr Images

Languages

Categories

Add to Cart

Description:

stringr

stringr 🧵 #
String manipulation in dart/flutter on steroids! ⚡⚡
This dart plugin is null safety compliant 😎😎



This dart plugin is inspired 🧠 by Voca js library. This plugin includes all the nifty functions required for powerful string manipulations.
How powerful? Glad you asked!!
This plugin works on both latin and non latin strings, and uses complex regular expressions to extract words from strings on manipulations, rather than just calling split(" ") on a string.

import 'package:stringr/stringr.dart';

void main(){
print("camel case".camelCase()); // Output - "camelCase"
print("HTMLview".camelCase(preserveAcronym=true)); // Output - "HTMLView"
print("/this/is/a/directory".camelCase()); // Output - "thisIsADirectory"
print("полет птицы".kebabCase()); // Output - "полет_птицы"
print("La variété la plus fréquente est la blanche".prune(12)); // Output - La variété
print("2infinity*@#@AND93beyond".words()); // Output - ["2", "infinity", "AND", "93", "beyond"]
print("gravity".words(pattern: r"\w{1,2}")); // Output - ['gr', 'av', 'it', 'y']
}

copied to clipboard
Convert a string to its latin counterpart! Can reverse not only pure strings, but strings with grapheme clusters as well😎

import 'package:stringr/stringr.dart';

void main(){
print("cafe\u0301".latinize()); // Output - cafe
print("anglikonų šiurkščios užrašinėti".latinize());// Output - 'anglikonu siurkscios uzrasineti'
print("𝌆 bar mañana mañana".reverse()); // Output - 'anañam anañam rab 𝌆'
// Splitting and reversing normally would give this as output
// anãnam anañam rab ��
}

copied to clipboard
Support for graphemes is also included in this plugin. characters plugin is used to facilitate some of the functionalities.

import 'package:stringr/stringr.dart';

void main(){
print("cafe\u0301".countGrapheme()); // Output - 4
print("\uD835\uDC00\uD835\uDC01".countGrapheme()); // Output - 2
print("\uD835\uDC00\uD835\uDC01".graphemeAt(1)); // Output - "\uD835\uDC01"
print("stellar bomb".codePoints()); // Output - [0x73, 0x74, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x20, 0x62, 0x6f, 0x6d, 0x62]
print('man\u0303ana'.graphemes()); // Output - ['m','a', 'n\u0303', 'a', 'n', 'a']
}

copied to clipboard
HTML strings can be escaped!

import 'package:stringr/stringr.dart';

void main(){
print('<>&"\'`'.escapeHTML()); // Output - '&lt;&gt;&amp;&quot;&#x27;&#x60;'
print('<p>wonderful world</p>'.escapeHTML());// Output - '&lt;p&gt;wonderful world&lt;/p&gt;'
}

copied to clipboard
You can count on stringr to count the words, latin, non latin, or strings with grapheme clusters!

import 'package:stringr/stringr.dart';

void main(){
print("a year without rain".count()); // Output - 19
print("foo\uD834\uDF06\u0303\u035C\u035D\u035Ebar".countGrapheme());// Output - 7
print("to be or not to be".countOccurences("to")); // Output - 2
print("aBCdeFgH".countWhere((character) => character.isAlphabet())); // Output - 8
print("NewYork".countWords()); // Output - 2
}

copied to clipboard

Some of the functionalities, like char() and codePoints are either simple enough to implement or were available in the characters package. But still I decided to add them to make bundle everything under a similar syntax ( i.e- calling the extension functions on string).
For functions like padLeft() and trim() which already are extension functions and inbuilt in dart, I have not included them in this plugin as the syntax would be similar to that of this plugin.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.