Lucene.Net.Analysis.AR.ArabicNormalizer.Normalize C# (CSharp) Method

Normalize() public method

public Normalize ( char s, int len ) : int
s char input buffer
len int length of input buffer
return int
        public int Normalize(char[] s, int len)
        {

            for (int i = 0; i < len; i++)
            {
                switch (s[i])
                {
                    case ALEF_MADDA:
                    case ALEF_HAMZA_ABOVE:
                    case ALEF_HAMZA_BELOW:
                        s[i] = ALEF;
                        break;
                    case DOTLESS_YEH:
                        s[i] = YEH;
                        break;
                    case TEH_MARBUTA:
                        s[i] = HEH;
                        break;
                    case TATWEEL:
                    case KASRATAN:
                    case DAMMATAN:
                    case FATHATAN:
                    case FATHA:
                    case DAMMA:
                    case KASRA:
                    case SHADDA:
                    case SUKUN:
                        len = Delete(s, i, len);
                        i--;
                        break;
                    default:
                        break;
                }
            }

            return len;
        }

Usage Example

Example #1
0
 public override bool IncrementToken()
 {
     if (input.IncrementToken())
     {
         int newlen = normalizer.Normalize(termAtt.TermBuffer(), termAtt.TermLength());
         termAtt.SetTermLength(newlen);
         return(true);
     }
     return(false);
 }
ArabicNormalizer