2014-09-19 62 views
-4

我有一個字符串,我想從中刪除一個節。使用開始和結束值刪除字符串

我想刪除<img width開始並以/>

首先我要完全刪除這整個img標籤結束本節。

我有以下但它需要一個完整的字符串,而我只有開始和結束,隨着中間的變化。

String string = var.replace("string to replace but dont have entire", ""); 
+6

在哪裏你的嘗試? – 2014-09-19 10:25:18

+0

由於OP – 2014-09-19 10:28:13

+0

缺乏努力,這個問題似乎是無關緊要的?我所看到的似乎並不相關。我已更新到問題顯示我有什麼和需要。 – sark9012 2014-09-19 10:29:19

回答

2

的String.replaceAll方式:

String text = "… \n … <img width … /> → \n…"; 
    text = text.replaceAll("<img[\\d\\D]*?/>", "")); 
+0

完美,正是我所期待的。閱讀你在那裏做了什麼的任何鏈接?什麼是[\\ d \\ D] *?在做什麼?謝謝:) – sark9012 2014-09-19 10:37:27

+0

在正則表達式中,點'。'表示除了換行符'\ n'之外的任何字符,除非使用java.util.regex.Pattern API的Pattern.DOTALL。但是使用replaceAll,您沒有標誌,表達式[\ d \ D]表示數字和非數字字符,包含換行符=>所有字符。它也適用於[\ w \ W]和其他/不是那個。所有關於這裏的正則表達式:http://regular-expressions.info – 2014-09-19 10:40:37

+0

http://en.wikipedia.org/wiki/Regular_expression – 2014-09-19 10:40:52

1

這是一個容易理解的方法:
(當然使用正則表達式會更好)

int beginOFImageTag = var.indexOf("<img width"); 
int endOfImageTag = var.indexOf("/>", beginOFImageTag + 10); //"+10" because "<img width" has 10 chars 

String string = var.substring(0, beginOFImageTag) + var.substring(endOfImageTag + 2, var.length()); 
+1

謝謝,@ NicoA380回答了這個問題,它在此之前就有效。我會看看如果這個作品太:) :) – sark9012 2014-09-19 10:38:00

+0

@Luke沒問題! :)有一個小錯誤,修復它 – Robert 2014-09-19 10:41:26

相關問題