Axapta 如何在dynamics ax中删除字符串中的变音符号
我正在尝试转换一些字符串,我希望能够从strinf中删除变音符号。(例如:ùùèèa将成为euea) 我试过这个: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
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