gpt4 book ai didi

c# - 如何反转包含希伯来字母和数字的字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 15:48:30 24 4
gpt4 key购买 nike

我有一个希伯来语字符串需要反转。

"שורה שלמה בעברית 3/8" וגם נושא חדש בסוגריים (הנושא) וגם מספר בסוגריים (25) וגם נקודה בסוף משפט."

我用这个函数来反转它

public static string Reverse(string s)
{
char[] charArray = s.ToCharArray();
Array.Reverse(charArray);
return new string(charArray);
}

输出是:

".טפשמ ףוסב הדוקנ םגו )52( םיירגוסב רפסמ םגו )אשונה( םיירגוסב שדח אשונ םגו \"8/3 תירבעב המלש הרוש"

如您所见,希伯来语中的单词反向成功,但数字和 () 反向。

最佳答案

 static public string ReverseOnlyHebrew(string str)
{
string[] arrSplit;
if (str != null && str != "")
{
arrSplit = Regex.Split(str, "( )|([א-ת]+)");
str = "";
int arrlenth = arrSplit.Length - 1;
for (int i = arrlenth; i >= 0; i--)
{
if (arrSplit[i] == " ")
{
str += " ";
}
else
{
if (arrSplit[i] != "")
{
int outInt;
if (int.TryParse(arrSplit[i], out outInt))
{
str += Convert.ToInt32(arrSplit[i]);
}
else
{
arrSplit[i] = arrSplit[i].Trim();
byte[] codes = System.Text.ASCIIEncoding.Default.GetBytes(arrSplit[i].ToCharArray(), 0, 1);
if (codes[0] > 47 && codes[0] < 58 || codes[0] > 64 && codes[0] < 91 || codes[0] > 96 && codes[0] < 123)//EDIT 3.1 reverse just hebrew words
{
str += arrSplit[i].Trim();
}
else
{
str += Reverse(arrSplit[i]);
}
}
}
}
}
}
return str;
}
static public string Reverse(string str)
{
char[] strArray = str.ToCharArray();
Array.Reverse(strArray);
return new string(strArray);
}

关于c# - 如何反转包含希伯来字母和数字的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26995317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com