2012-03-06 183 views
1

我想在字符串中找到一個文本並替換它,但它不能處理我的代碼。我不得不提到,我通常得到的Web視圖的標題,但是當我輸出text2我得到整個標題(不替換文字)。除text2之外的所有字符串都位於空格內。替換字符串中的文本

String text1 = web1.getTitle(); 
String text2 = text1.toString().replace("-Click 2U - Files", ""); 

預先感謝您....

+2

這是一個非常簡單的谷歌:http://www.daniweb.com/software-development/java/threads/73139 – gtr32x 2012-03-06 19:48:41

+0

您能否提供您正在使用的完整標題和實際替換? – arc 2012-03-06 19:49:05

+0

當然..我現在編輯 – 2012-03-06 19:51:32

回答

10

你的代碼工作對我來說:

String text1 = "some string with -Click 2U - Files in it"; 
String text2 = text1.replace("-Click 2U - Files", ""); 
// here text2.equals("some string with in it") 

這將刪除該字符串的所有實例。您還可以使用replaceAll(...)它使用正則表達式:

String text1 = "some Click 2U title for Clicking away"; 
String text2 = text1.replaceAll("C.*?k", "XXX"); 
// here text2.equals("some [XXX 2U title for XXXing away") 

注意,"C.*?k"模式將匹配一個C然後任意數目的字符,然後k?意味着不要進行急切的匹配,並在第一個k處停止。請閱讀您的regex manuals瞭解更多詳情。

+0

我不明白如何使用此代碼..這段代碼assertEquals(「一些字符串與它」,text2); ?謝謝 – 2012-03-06 22:06:06

+0

對不起,這只是告訴你輸出是什麼。我會編輯我的答案,使其更簡單。 – Gray 2012-03-06 22:07:28

+0

非常感謝你 – 2012-03-06 22:13:03

0

我用它來代替密碼

輸入

{"Login":"login1", "Password":"password1"} 

inputParameters.toString().replaceAll("(\"Password\":\")+\\w+\"", "\"Password\":\"*********\"") + "\"") 

輸出

{"Login":"login1", "Password":"*********"}