加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用正则表达式C#替换Unicode(泰米尔语)字符串

发布时间:2020-12-14 06:23:36 所属栏目:百科 来源:网络整理
导读:我正在实施泰米尔语的词法分析. 我需要通过以下条件替换Text Element值 string[] ugaramStrings = { "??","??","??","??","??","??" }; string[] tamilvowels = { "?",// "u0b85" "?",//"u0b86" "?",//"u0b87" "?",//"u0b88" "?",//"u0b89" "?",//"u0b
我正在实施泰米尔语的词法分析.
我需要通过以下条件替换Text Element值
string[] ugaramStrings = { "??","??","??","??","??","??" };
        string[] tamilvowels =
            {
                "?",// "u0b85"
                "?",//"u0b86"
                "?",//"u0b87"
                "?",//"u0b88"
                "?",//"u0b89"
                "?",//"u0b8A"
                "?",// "u0b8E"
                "?",//"u0b8F"
                "?",//"u0b90"
                "?",//"u0b92"
                "?",//"u0b93"
                "?"//"u0b94"
            };

如果任何单词具有来自ugaramStrings和tamil元音元素的元素连续.
需要替换ugaram字符串并返回值.

例如,??????*???*????替换为??????*?*????.
即&=>?

我通过使用TextElementEnumerator Class检查下一个字符串元素来完成它.
是否有任何可能性,以便使用RegularExpression替换它

试试这个:
string[] ugaramStrings = { "??","??" };
string[] tamilvowels =
{
    "?",// "u0b85"
    "?",//"u0b86"
    "?",//"u0b87"
    "?",//"u0b88"
    "?",//"u0b89"
    "?",//"u0b8A"
    "?",// "u0b8E"
    "?",//"u0b8F"
    "?",//"u0b90"
    "?",//"u0b92"
    "?",//"u0b93"
    "?"//"u0b94"
};

var rxTemp = "(" +
    string.Join("|",ugaramStrings) + ")(" +
    string.Join("|",tamilvowels) + ")";

var rx = new Regex(rxTemp);

string str = "??????*???*????";

// This will contain all the matches
var matches = new List<Match>();

string str2 = rx.Replace(str,match => {
    matches.Add(match);
    // Group[1] will contain the ugaram letter,// Group[2] will contain the tamil vowel
    return match.Groups[2].Value;
});

它似乎工作正常. str2将包含替换的字符串,而匹配将包含所有匹配

请注意,例如,ugaram字符是由字符组成的,因此每个ugaram“字符”使用两个C#字符.

例如??是’?””.

这是非法的:

char ch = '?';

这是合法的:

string str = "?"; // str.Length == 2

因此你不能简单地[????????????],但你必须(??|??|??|??|??|??).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读