![](/img/trans.png)
[英]Java, cant figure out how to strip symbols from a String for a Palindrome
[英]How to strip braces out of Java string?
我的Java應用程序將獲取以下形式的字符串:
How now [[brown cow ]]. The arsonist [[ had oddly shaped ]] feet. The [[human torch was denied]] a bank loan.
並且需要一個正則表達式/方法來去除[[ ]]
每個實例(以及所有包含文本),從而將上述字符串轉換為:
How now. The arsonist feet. The a bank loan.
注意保持雙位(與arsonist
和feet
,以及之間The
和a
)? 這也很重要。
不知道這里的正則表達式是否合適,或者是否有更有效的方法來剔除不需要的[[ ]]
實例。
這是在javascript中。
var text = "How now [[brown cow ]]. The arsonist [[ had oddly shaped ]] feet. The [[human torch was denied]] a bank loan."
text.replace(/\[\[[^\]]+\]\]/g, "")
匹配括號的正則表達式將是
/\[\[[^\]]+\]\]/g
因此,Java等價於
text.replaceAll("\[\[[^\]]+\]\]", "");
並將其替換為空字符串
可以刪除雙括號和三括號的正則表達式
text.replaceAll("\[?\[\[[^\]]+\]\]\]?", "")
這對於replaceAll
很簡單
str = str.replaceAll( "\\[\\[[^\\]]*\\]\\]", "" );
假定括號之間沒有]
。
嘗試使用以下代碼:
public class Test{
public static void main(String[] args) {
String input = "How now [[brown cow ]]. The arsonist [[ had oddly shaped ]] feet. The [[human torch was denied]] a bank loan.";
// Will replace all data within braces []
String replaceAll = input.replaceAll("(\\[.+?\\])|(\\])", "");
System.out.println(replaceAll);
}
}
希望這可以幫助。
tring s = "How now [[brown cow ]]. The arsonist [[ had oddly shaped ]] feet. The [[human torch was denied]] a bank loan.";
s=s.replaceAll("\\[.*?\\]","").replace("]","");
輸出:
How now . The arsonist feet. The a bank loan.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.