我要求在阿拉伯语行中替换客户名称,帐号,密码值等英语密钥。我有像CUST_NAME,ACC_NO和PWD_VAL这样的占位符。
替换后,阿拉伯语文本的对齐方式正在发生变化,如下所示。有没有办法阻止它。
public class TestArabic
{
public static void main(String...strings){
String text="عزيزي "+"\u202A"+" CUST_NAME "+"\u202C"+" ، ل حساب عدد هو: "+"\u202A"+" ACC_NO "+"\u202C"+" و كلمة السر هي :"+"\u202A"+" PWD_VAL "+"\u202C"+" ، يرجى تغيير في تسجيل الدخول الأول";
System.out.println(text);
text = text.replace("CUST_NAME", "John");
text = text.replace("ACC_NO", "1234");
text = text.replace("PWD_VAL", "pass");
System.out.println(text);
}
}
输出
答案 0 :(得分:2)
问题不是来自java,而是来自您使用的控制台或输出窗口,对于Eclipse,只需按( RIGHT CTRL + RIGHT SHIFT )(基于在系统配置上)以从右到左的方式对输出进行调整。顺便说一下,我将文本修改为:
String text="عزيزي "+"" +" CUST_NAME "+""+" ، الحساب عدد هو: "+""+" ACC_NO "+""+" و كلمة السر هي :"+""+" PWD_VAL "+""+" ، يرجى تغيير في تسجيل الدخول الأول";
答案 1 :(得分:1)
尝试在帐号末尾添加left-to-right mark
字符:
" ACC_NO\u200E "