无法替换阿拉伯字符



所以我试图用特定的数字替换阿拉伯字符,但问题是阿拉伯字符会根据它们在句子中的位置而变化,从而破坏代码。例如,字母";م"是";ﻣ"当放在句子的开头时;ﻤ"在中间;ﻢ"最后。

有人知道怎么解决这个问题吗?

File text = new File("C:/Users/LENOUVO/Desktop/AR_ar.json");
String oldContent = "";
BufferedReader reader = new BufferedReader(new FileReader(text));

String line = reader.readLine();

while (line != null) {
oldContent = oldContent + line + System.lineSeparator();
line = reader.readLine();
}

reader.close();

String newContent = oldContent.replaceAll("ا", "{00311}");
newContent = newContent.replaceAll("أ", "{00312}");
newContent = newContent.replaceAll("ﺑ", "{00313}");
newContent = newContent.replaceAll("ﻟ", "{00314}");
newContent = newContent.replaceAll("ﺒ", "{00315}");
newContent = newContent.replaceAll("ﺮ", "{00316}");
newContent = newContent.replaceAll("ﻌ", "{00317}");
newContent = newContent.replaceAll("ﻴ", "{00318}");
newContent = newContent.replaceAll("ﺔ", "{00319}");
newContent = newContent.replaceAll("ر", "{00320}");
newContent = newContent.replaceAll("ﻠ", "{00321}");
newContent = newContent.replaceAll("ﻐ", "{00322}");


FileWriter writer = new FileWriter(text);
writer.write(newContent);

writer.close();
}

输入文本:

العربيد

输出文本:

{00311}لع{00320}بي

您可以使用变通方法将文本作为字符串,然后将其转换为列表,然后替换需要替换的字符。希望它有用。

val st = "بِسْمِ اِ۬للَّهِ اِ۬لرَّحْمَٰنِ اِ۬لرَّحِيمِ ِّ"
val list = st.toMutableList()
var count = 0
for (i in list){
if (i.equals('ن',true)){
list[count] = 'ں'
}
count++
}
for (i in list){
val file =  File("kan.txt")
file.appendText(i.toString())

}

最新更新