2013-05-14 69 views
2

中最後一次出現我試圖從另一個崗位與的JavaScript:替換正斜槓

replace(/_([^_]*)$/,replacement+'$1') 

擺弄,但不能讓它的工作

我有一個字符串:

<div class="plus"></div><div class="details"></div>text1/text2 

我想轉換成

<div class="plus"></div><div class="details"></div>text1/<br>text2 

但我不斷得到/ in/div以及

任何人?

編輯:要清楚我想

"/<br>" 

只有最後一次出現,以取代過去的

"/" 

我不知道......也許我最好回去在我的代碼,並嘗試與HTML前面加上之前更換斜線...

+0

見我的答案.. – 2013-05-14 08:44:59

回答

0

如果你不試圖捕捉斜線在後面引用,添加斜線到文本本身:

replace(/_([^_]*)$/,replacement+'$1/') 
-----------------------------------^ 
2

使用lastIndexOf()方法

var index = str.lastIndexOf('/'); 
str = str.substr(0, index + 1) + "<br>" + str.substr(index + 1); 

這裏是fiddle

+0

也在努力 - 但同樣滯後於僅替換的能力/如果它不是一個組成部分結束標籤 – CJe 2013-05-14 08:56:47

+1

@CJe然後只是讓您的字符串爲「text1」或「text1/text2」不是整個標籤,並執行此操作 – 2013-05-14 09:01:18

+0

完成。然後我可以使用「正常」替換操作。謝謝。 – CJe 2013-05-14 09:07:26

0

它很容易做,使用字符串方法:

var index = str.lastIndexOf('/'); 
str = str.substr(0, index) + str.substr(index + 1); 
1

嘗試

'<div class="plus"></div><div class="details"></div>text1/text2'.replace(/(\/)([^\/]*)$/, '$1' + '<br />' + '$2') 
+0

這可能工作,但我只是意識到,並非所有的字符串都以包含正斜槓的文本結尾,這意味着例如

text1將失敗:-( – CJe 2013-05-14 08:49:21