java - 如何将java字符串方向从ltr更改为rtl?
问题描述
我正在尝试使用 java 编程语言direction
从ltr
to更改为 string 。rtl
我的弦
String newString = "\nالفرع: الفرع الرئيسي\n" +
"***********************************\n" +
"التاريخ والوقت: 2019/01/0218:01\n" +
"نوع الحركة: مبيعات مضخات \n" +
"رقم الفاتورة: 14\n" +
"طريقة الدفع: نقد \n" +
"المضخة: م 1 ك 1\n" +
"\n" +
"\n" +
"نوع الوقود: بنزين 95\n" +
"الكمية: 2.830\n" +
"السعر: 1.060\n" +
"الإجمالي: 3.000\n" +
"\n" +
"***********************************\n" +
" شكرا لزيارتكم\n" +
" \n" +
" ";
解决方案
您正在尝试更改格式,这需要更改字符串。使用具有给定宽度的 String.format ,这将添加必要的空格以根据需要将字符串向右或向左对齐:
static String align(String str, int width, boolean right){
String[] temp = str.split("\n");
String frmt = "";
if(right){
frmt = "%" + width + "s";
}
else{
frmt = "%-" + width + "s";
}
for(int i=0; i<temp.length; i++)
temp[i] = String.format(frmt, temp[i]);
return String.join("\n", temp);
}
public static void main(String[] args) {
String newString = "\nالفرع: الفرع الرئيسي\n" +
"***********************************\n" +
"التاريخ والوقت: 2019/01/0218:01\n" +
"نوع الحركة: مبيعات مضخات \n" +
"رقم الفاتورة: 14\n" +
"طريقة الدفع: نقد \n" +
"المضخة: م 1 ك 1\n" +
"\n" +
"\n" +
"نوع الوقود: بنزين 95\n" +
"الكمية: 2.830\n" +
"السعر: 1.060\n" +
"الإجمالي: 3.000\n" +
"\n" +
"***********************************\n" +
" شكرا لزيارتكم\n" +
" \n" +
" ";
System.out.println(align(newString, 35, false));
}
这里的宽度设置为 35,您可以将其设置为您需要的任何值。̶T̶h̶e̶̶̶w̶i̶l̶l̶̶a̶l̶i̶g̶n̶̶i̶t̶̶t̶o̶̶t̶h̶e̶̶r̶i̶g̶h̶t̶.̶̶̶ ̶-̶
_
编辑:我进一步更改了它,现在调用该函数align
并接受一个新参数,该参数告诉它是右对齐还是左对齐,正如在更改变量right
时可以看到的那样。frmt
编辑 2:-
如果语言是 ltr,则符号将左对齐,如果语言是 rtl,它将右对齐。阿拉伯语(在您的示例中显示)是 rtl,因此,您需要与英语中的内容相反。我已经用更正的代码更新了函数。对于 RTL 语言(阿拉伯语),使用align(string, width, false)
和对于 LTR 语言使用align(string, with, true)
推荐阅读
- angular - 服务方法不返回承诺
- authentication - 将自定义 AuthenticationHandler 添加到外部登录提供程序列表
- java - Java:如何存储数据以供在 Jface/TreeViewer 和 TableViewer 中使用
- iis - IIS URL 重写存在子调用问题
- spring-boot - 在不同的地方暴露弹簧执行器的健康端点是好事还是坏事?
- azure - Azure B2C 登录演示用户通过 API 而不是通过登录页面
- javascript - LinkedIn 从共享按钮 url 中剥离参数
- elasticsearch - elasticsearch 在 C# Nest 客户端中的 VerifyRepositoryRequest 失败
- vba - 取消报告打印后如何抑制错误消息?
- python - 如何将字符串从一列拆分为与列表匹配的两列?