我想將字符串數組複製到另一個字符串數組中。但是副本只能包含原始數組的每個字符串的一部分。在Java中使用正則表達式複製數組
例如,如果我們有
String[] originalArray = {"/data/test2/", "/data/test4/", "/data/dropbox/test5/"}
我想複製陣列是
String[] copyArray = {"test2", "test4", "test5"}
我的解決辦法是簡單地通過原始數組迭代,並使用正則表達式來獲取originalArray中字符串的最後一部分,並生成由這些值組成的copyArray。
上述方法是否有效,還是有更有效的解決方案呢?還有什麼正則表達式可以用於這種情況?我在做的方式似乎有點過於強硬。
理想情況下,我只是手動創建copyArray,但在這種情況下,originalArray的大小和精確的內容是未知的。
編輯:
這似乎微不足道,但由於某種原因,它不工作。
我添加了正則表達式。它似乎在測試儀中工作,但它不能正常工作,因爲我想在程序中使用它。我首先將originalArray轉換爲帶有|的字符串附加爲正則表達式。
String pattern = "/\\w+(?=\\||$)/g";
String testArray = originalArray.replaceAll(pattern," ");
但是,測試數組只是給我沒有應用正則表達式的原始連接字符串。
在範圍上的Java 8這個問題? – Bohemian 2014-10-06 22:09:51
不幸的是它不是。 8中有沒有對此有用的東西? – JavaChipMocha 2014-10-06 22:18:44
是 - 查看我的回答 – Bohemian 2014-10-06 22:22:53