我正在尝试从每个包含“ال”的阿拉伯字符串中删除“ال”我试图通过使用以下代码来实现这一点,但它只删除了第一个单词中的“ال”:第一个
a2mppw5e1#
如果您要处理 words 而不仅仅是每次出现的Replace,您可能需要 regular expression 来匹配单词,例如
Replace
using System.Text.RegularExpressions; ... string input = "الغيث الغيث الغيث"; string[] prefixes = { "ال", "اَلْ", "الْ", "اَل" }; // \b - word boundary - we are looking for prefixes only string output = Regex.Replace(input, @$"\b({string.Join("|", prefixes)})", "");
让我们看一看:
Console.Write(string.Join(Environment.NewLine, input, output));
输出量:
الغيث الغيث الغيث غيث غيث غيث
ccrfmcuu2#
请尝试以下正则表达式:
\b\u0627(?:\u0644\u0652?|\u064e\u0644\u0652?)
请参阅regex demo。这是您想要的C#程式码:
using System; using System.Text.RegularExpressions; public class Example { public static void Main() { string input = @"الغيث الغيث الغيث الغيث اَلغيث اَلغيث اَلغيث اَلغيث اَلْغيث اَلْغيث اَلْغيث اَلْغيث الْغيث الْغيث الْغيث الْغيث "; string pattern = @"\b\u0627(?:\u0644\u0652?|\u064e\u0644\u0652?)"; string replacement = ""; string result = Regex.Replace(input, pattern, replacement); Console.WriteLine("Original String: {0}", input); Console.WriteLine("\n\n-----------------\n\n"); Console.WriteLine("Replacement String: {0}", result); } }
请参阅C#程式码示范。
2条答案
按热度按时间a2mppw5e1#
如果您要处理 words 而不仅仅是每次出现的
Replace
,您可能需要 regular expression 来匹配单词,例如让我们看一看:
输出量:
ccrfmcuu2#
请尝试以下正则表达式:
请参阅regex demo。
这是您想要的C#程式码:
请参阅C#程式码示范。