C# | String.IsNormalized Method
Last Updated :
06 Jan, 2022
IsNormalized() method is used to check whether the given string is in a particular Unicode normalization form or not. If the given string is in the particular normalized form, then this method returns true. Otherwise, return false.
There are two methods in the overload list of this method as follows:
- IsNormalized()
- IsNormalized(NormalizationForm)
Important Points:
- Some Unicode characters have multiple equivalent binary representations which complicate the searching, sorting, matching and other operations.
- The Unicode standard defines a process termed as normalization which returns one binary representation when given any of the equivalent binary representations of a character. Normalization can be performed with several algorithms, called normalization forms, that obey different rules.
- .NET currently supports normalization forms C, D, KC, and KD.
IsNormalized()
This method is used to check whether the given string is in Unicode normalization form C or not. If the string is in Unicode normalized form C then this method return true, otherwise false.
Syntax:
public bool IsNormalized ();
Return Value: The return type of this method is System.Boolean. This method returns true when the given string is in normalization form C and return false when the given string is not in the normalization form i.e C.
Exception: If the current instance contains invalid Unicode characters, then this method will give ArgumentException.
Example:
CSharp
using System;
using System.Text;
class GFG {
static public void Main()
{
string str1 = "Hello, Geeks!" ;
bool value;
value = str1.IsNormalized();
Console.WriteLine( "String is : {0}" , str1);
Console.WriteLine( "Is str1 string is in normalized form?: {0}" ,
value);
}
}
|
Output:
String is : Hello, Geeks!
Is str1 string is in normalized form?: True
Note: The IsNormalized method returns false as it will come across the first non-normalized character in a string. So, if a string contains non-normalized characters followed by invalid Unicode characters, the Normalize method will throw an ArgumentException although IsNormalized returns false.
IsNormalized(NormalizationForm)
This method is used to check whether the given string is in the specified Unicode normalization form or not. If the given string is in specified Unicode normalization form then this method will return true, otherwise false.
Syntax:
public bool IsNormalized (NormalizationForm nform);
Here, nform is a Unicode normalization form.
Return Value: The return type of this method is System.Boolean. This method returns true if this string is in the normalization form specified by the nform parameter. Otherwise, returns false.
Exception: This method will give ArgumentException if the current instance contains invalid Unicode characters.
Example:
CSharp
using System;
using System.Text;
class Sample {
public static void Main()
{
string str1 = "GeeksforGeeks!" ;
Console.WriteLine( "Is string str1 is normalized to form C - {0}" ,
str1.IsNormalized(NormalizationForm.FormC));
Console.WriteLine( "Is string str1 is normalized to form D - {0}" ,
str1.IsNormalized(NormalizationForm.FormD));
Console.WriteLine( "Is string str1 is normalized to form KC - {0}" ,
str1.IsNormalized(NormalizationForm.FormKC));
Console.WriteLine( "Is string str1 is normalized to form KD - {0}" ,
str1.IsNormalized(NormalizationForm.FormKD));
}
}
|
Output:
Is string str1 is normalized to form C - True
Is string str1 is normalized to form D - True
Is string str1 is normalized to form KC - True
Is string str1 is normalized to form KD - True
Reference: https://docs.microsoft.com/en-us/dotnet/api/system.string.isnormalized?view=netframework-4.7.2
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...