所以我试图用特定的数字替换阿拉伯字符,但问题是阿拉伯字符会根据它们在句子中的位置而变化,从而破坏代码。例如,字母";م"是";ﻣ"当放在句子的开头时;ﻤ"在中间;ﻢ"最后。
有人知道怎么解决这个问题吗?
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())
}