Elephant.Texts
2.2.0
dotnet add package Elephant.Texts --version 2.2.0
NuGet\Install-Package Elephant.Texts -Version 2.2.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Elephant.Texts" Version="2.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Elephant.Texts" Version="2.2.0" />
<PackageReference Include="Elephant.Texts" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Elephant.Texts --version 2.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Elephant.Texts, 2.2.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Elephant.Texts@2.2.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Elephant.Texts&version=2.2.0
#tool nuget:?package=Elephant.Texts&version=2.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
About
Provides various text utilities:
- Anagrams
- Palindromes
- Pangrams
- Parentheses validator
- Supports default, custom symmetric and custom asymmetric parentheses.
- Truncator
- Roman numerals
- Supports 4 different Roman large number formats (for values
> 3999). - Integer to Roman supported range:
0 - int.MaxValue. - Roman to integer supported range:
0 - 3999.
- Supports 4 different Roman large number formats (for values
Installation
Choose one:
Package Manager (Visual Studio GUI)
- Right-click your project → "Manage NuGet Packages".
- Search for
Elephant.Texts. - Click "Install".
.NET CLI (Command Line)
dotnet add package Elephant.Texts
PackageReference (Project File)
<PackageReference Include="Elephant.Texts" Version="x.x.x" />
Package Manager (CLI)
nuget install Elephant.Texts
How to Use
Examples
General
bool isValidAnagram1 = new Anagram().IsValid("new york times", "monkeys write");
bool isValidAnagram2 = new Anagram().IsValid("résumé", "mésuré");
bool isValidPalindrome1 = new Palindrome().IsValid("Taco cat");
bool isValidPalindrome2 = new Palindrome().IsValid("Was it Eliot's toilet I saw?");
// The PanGram class delivers exceptional performance.
bool isValidPangram1 = new Pangram().IsValid("The quick brown fox jumps over the lazy dog");
bool isValidPangram2 = new Pangram().IsValid(new System.Text.StringBuilder().Append('x', 1_000_000).Append("abcdefghijklmnopqrstuvwxyz").ToString()));
Parentheses validator
IParenthesesValidator parenthesesValidator;
bool isValid = _parenthesesValidator.IsValid("([{}])"); // Returns true
isValid = _parenthesesValidator.IsValid("Something(yellow[{with a tail}])!"); // Returns true
isValid = _parenthesesValidator.IsValid("("); // Returns false
isValid = _parenthesesValidator.IsValid("[("); // Returns false
isValid = _parenthesesValidator.IsValid("[()]"); // Returns true
isValid = _parenthesesValidator.IsValid("([)]"); // Returns false (because not strictly nested)
IParenthesesValidator customValidator = new ParenthesesValidator(new() { { '«', '»' }, { '{', '}' } });
isValid = customValidator.IsValid("«test»"); // Returns true
isValid = customValidator.IsValid("(test)"); // Returns true (because these parentheses aren't included in the custom validator)
isValid = customValidator.IsValid("(test)(("); // Returns true (because these parentheses aren't included in the custom validator)
isValid = customValidator.IsValid("«t{e}st»"); // Returns true
Roman
IRomanNumeralConverter romanNumeralConverter = new RomanNumeralConverter();
// Supported range for IntToRoman(): Between 0 and int.MaxValue.
romanNumeralConverter.IntToRoman(1); // Outputs I
romanNumeralConverter.IntToRoman(10); // Outputs X
romanNumeralConverter.IntToRoman(49); // Outputs XLIX
romanNumeralConverter.IntToRoman(10000); // Using the default overline Roman large number format, outputs: X̅
romanNumeralConverter.IntToRoman(15000); // Using the default overline Roman large number format, outputs: X̅V̅
romanNumeralConverter.IntToRoman(10000, RomanLargeNumberFormat.Apostrophus); // Outputs: CC|Ↄ|Ↄ
romanNumeralConverter.IntToRoman(15000, RomanLargeNumberFormat.Parentheses); // Outputs: (XV)
romanNumeralConverter.IntToRoman(5000, RomanLargeNumberFormat.MPrefix); // Outputs: MMMMM
romanNumeralConverter.IntToRoman(int.MaxValue, RomanLargeNumberFormat.Overline); // Outputs: I̅I̅C̅X̅L̅V̅I̅I̅C̅D̅L̅X̅X̅X̅I̅I̅I̅DCXLVII
// Supported range for SmallRomanToInt(): Between 0 and 3999.
romanNumeralConverter.SmallRomanToInt("mcmxcix"); // Outputs: 1999
Truncator
<span disabled>Truncator.TruncateWithEllipsis(@tag.Name, 5)</span> // If tag.Name = "Red cars" then it now becomes "Red..".
Upgrade instructions
1.x.x → 2.0.0
- Renamed the namespace of
ParenthesesValidatorfromElephant.Texts.TestsintoElephant.Texts. - Renamed the namespace of
IParenthesesValidatorfromElephant.Texts.TestsintoElephant.Texts.Abstractions.
Contributing
Contributions are welcome. Please read our CONTRIBUTING.md file for guidelines on how to proceed.
License
This project is licensed under the MIT License. See the LICENSE.txt file for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Elephant.Texts.Abstractions (>= 1.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Add text truncator method.