我需要從我的文本文件中刪除所有字符串,如:正則表達式:我目前的一個後所有單詞都不見了
flickr:user=32jdisffs
flickr:user=acssd
flickr:user=asddsa89
我目前使用fields[i] = fields[i].replaceAll(" , flickr:user=.*", "");
但是這個問題處理方法是,將flickr:user=
之後的任何單詞從內容中刪除,即使在空格之後。
感謝
我需要從我的文本文件中刪除所有字符串,如:正則表達式:我目前的一個後所有單詞都不見了
flickr:user=32jdisffs
flickr:user=acssd
flickr:user=asddsa89
我目前使用fields[i] = fields[i].replaceAll(" , flickr:user=.*", "");
但是這個問題處理方法是,將flickr:user=
之後的任何單詞從內容中刪除,即使在空格之後。
感謝
你可能需要
replaceAll("flickr:user=[0-9A-Za-z]+", "");
flickr:user=\w+
應該這樣做:
String noFlickerIdsHere = stringWithIds.replaceAll("flickr:user=\\w+", "");
參考:
\w
= A字字符:[a-zA-Z_0-9]
對這個問題去如說,有機會,你想:
fields[i] = fields[i].replaceAll(" , flickr:user=[^ ]* ", ""); // or " "
這將匹配的字符串,其中包括user
直到但不包括第一個空間的價值,其次是空間,並用空白字符串或單個空格替換它。 然而,這將(除了逗號)網你一個空的結果與你顯示的輸入。那真的是你想要的嗎?
我也不確定開始時的" , "
適合您展示的示例。
原因你的困難是,一個無界的.*
會匹配一切從該點,直到輸入的結束(即使等於什麼;那是什麼*
是)。對於基於行的正則表達式解析器,這就是行的末尾。
不清楚你的問題。請發佈您期望的前後示例。 – adarshr 2011-02-24 10:19:46
有一個'g'的標誌,意思是'貪婪',並儘可能地代替它。也許這是默認啓用的。 – pimvdb 2011-02-24 10:21:35
@pim非貪婪也無濟於事,因爲它不夠匹配 – 2011-02-24 10:23:22