相关疑难解决方法(0)

如何检测角色是否属于从右到左的语言?

什么是判断字符串是否包含"从右到左"语言的文本的好方法.

我发现这个问题表明了以下方法:

public bool IsArabic(string strCompare)
{
  char[] chars = strCompare.ToCharArray();
  foreach (char ch in chars)
    if (ch >= '\u0627' && ch <= '\u0649') return true;
  return false;
}
Run Code Online (Sandbox Code Playgroud)

虽然这可能适用于阿拉伯语,但这似乎不包括其他RTL语言,如希伯来语.有没有通用的方法来知道某个特定字符属于RTL语言?

c# localization bidi right-to-left

27
推荐指数
3
解决办法
1万
查看次数

从左到右解析阿拉伯语/ RTL文本

假设我有一个RTL语言的字符串,例如阿拉伯语,其中包含一些英语:

string s = "Test:?????;?????;a;b"

请注意,字符串中有分号.当我使用Split命令时string[] spl = s.Split(';');,则某些字符串以相反的顺序保存.这是发生的事情:

spl [0] ="Test:لطيفة"
spl [1] =""اليوم
spl [2] ="a"
spl [3] ="b"

与原版相比,上述内容无序.相反,我希望得到这个:

spl [0] ="Test:اليوم"
spl [1] ="لطيفة"
spl [2] ="a"
spl [3] ="b"

我准备编写自己的分割功能.但是,字符串中的字符也以相反的顺序解析,所以我回到原点.我只想浏览屏幕上显示的每个角色.

c# string unicode right-to-left

7
推荐指数
1
解决办法
5740
查看次数

标签 统计

c# ×2

right-to-left ×2

bidi ×1

localization ×1

string ×1

unicode ×1