我在串聯混合西方和阿拉伯文字符的文本片段時遇到問題。Java西方+阿拉伯字符串串聯問題
我已經標記列表如下:
-LRB-
دریای
مازندران
-RRB-
,
我用下面的步驟來連接令牌的這些名單:
String str = "";
for (String tok : tokens) {
str += tok + " ";
}
這是我的程序的輸出:
-LRB- دریای مازندران -RRB- ,
可以看出,的位置阿拉伯詞被倒置。 我該如何解決這個問題(也許建議Java忽略關於文本方向的信息)?
編輯
事實上,看來我的問題是一個假問題。 現在我有了一個新的。我需要換一個字符串中的每個單詞這樣(word *)
使我的輸出將是這樣的:
(word1 *)(word2 *)(word3 *)...
,我使用的過程如下:
String str = "";
for (String tok : tokens) {
str += "(" + tok + "*)";
}
然而,結果是我得到的是這樣的:
(-LRB- *)(دریای *)(مازندران *)(-RRB- *)(, *)
代替:
(-LRB- *)(دریای)(* مازندران *)(-RRB- *)(, *)
** EDIT2 ** 其實我發現我的問題不是有問題。我在一個文件上寫了我的字符串,然後用nano打開它(在控制檯中)。它被正確連接。
所以這個問題是由於Eclipse控制檯(也是gedit)導致的--let說 - 錯誤地呈現字符串。
無論如何,感謝您的幫助!
你的'tokens'列表是如何填充的? – 2013-02-19 17:02:22
其實我正在處理維基百科拍攝的文字。所以,我下載文本並使用Word標記器將其分爲令牌。 – user278064 2013-02-19 17:07:09
標記器不會更改標記順序。所以你的話不能按照你上面顯示的順序。 – 2013-02-19 17:08:25