Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Axapta 如何在dynamics ax中删除字符串中的变音符号_Axapta_Microsoft Dynamics_X++_Ax_Aot - Fatal编程技术网

Axapta 如何在dynamics ax中删除字符串中的变音符号

Axapta 如何在dynamics ax中删除字符串中的变音符号,axapta,microsoft-dynamics,x++,ax,aot,Axapta,Microsoft Dynamics,X++,Ax,Aot,我正在尝试转换一些字符串,我希望能够从strinf中删除变音符号。(例如:ùùèèa将成为euea) 我试过这个: static str AALRemoveDiacritics( System.String input ) { int i; System.Text.NormalizationForm FormD; str normalizedString = input.Normalize(FormD); System.Text.Str

我正在尝试转换一些字符串,我希望能够从strinf中删除变音符号。(例如:ùùèèa将成为euea) 我试过这个:

   static str AALRemoveDiacritics( System.String input )
    {
        int i;
    System.Text.NormalizationForm    FormD;
    str normalizedString = input.Normalize(FormD);
    System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();

    for (i = 0; i < strLen(normalizedString); i++)
        {
        System.Char c = normalizedString[i];
        if (CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark)
            {
            stringBuilder.Append(c);
            }
        }

    return stringBuilder.ToString().Normalize(NormalizationForm.FormC);
    }
static str AALRemoveDiacritics(System.String输入)
{
int i;
System.Text.NormalizationFormd;
str normalizedString=input.Normalize(FormD);
System.Text.StringBuilder StringBuilder=新的System.Text.StringBuilder();
对于(i=0;i

谢谢

看起来您尝试过在X++中工作,并且非常接近

这是我刚刚写的一份工作,你可以使用:

static void AlexRemoveDiacritics(Args _args)
{
    str strInput = 'ÁÂÃÄÅÇÈÉàáâãäåèéêëìíîïòóôõ£ALEX';
    System.String input = strInput;
    str retVal;
    int i;

    System.Char c;
    System.Text.NormalizationForm FormD = System.Text.NormalizationForm::FormD;
    str normalizedString = input.Normalize(FormD);
    System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();

    for (i = 0; i <= strLen(normalizedString); i++)
    {
        c = System.Char::Parse(subStr(normalizedString, i, 1));

        if (System.Globalization.CharUnicodeInfo::GetUnicodeCategory(c) != System.Globalization.UnicodeCategory::NonSpacingMark)
        {
            stringBuilder.Append(c);
        }
    }

    input = stringBuilder.ToString();
    input = input.Normalize();
    retVal = input;

    info(strFmt("Before: '%1'", strInput));
    info(strFmt("After: '%1'", retVal));
}
static void-AlexRemoveDiacritics(Args\u Args)
{
str strInput='ALEX';
字符串输入=strInput;
str-retVal;
int i;
系统.c;
System.Text.NormalizationForm FormD=System.Text.NormalizationForm::FormD;
str normalizedString=input.Normalize(FormD);
System.Text.StringBuilder StringBuilder=新的System.Text.StringBuilder();
对于(i=0;i