2016-01-28 27 views
0

如何更換2個符號之間的文字,在我的情況"." and "/"(不帶引號)如何在JavaScript中的2個符號[關鍵字]之間複製文本?

雖然在棧做一些研究,我發現了一些答案,但他們並沒有太大的幫助。

我認爲問題是使用通用的操作符作爲字符串的一部分。

我試着用拆分

var a = "example.com/something" 
var b = a.split(/[./]/); 
var c = b[0]; 

我也試過這樣:

srctext = "example.com"; 
var re = /(.*.\s+)(.*)(\s+/.*)/; 
var newtext = srctext.replace(re, "$2"); 

但上述2似乎並沒有工作。

如果有人想解決這個問題,並且請使用一個或兩個示例來解釋轉義序列的使用,我會很高興。對於一個側面說明,我嘗試了谷歌搜索,但數據對我沒有太大的幫助。

+0

'「example.com/something」 .replace(/\..*?\//,'')' – Tushar

+0

@Tushar這也符合'.'和'/'。 –

+0

什麼是預期輸出? – Tushar

回答

1

試試這個代碼。

var a = "example.com/something"; 
var textToChange = 'org'; 
var result = a.replace(/(\.)([\w]+)(\/)/, '$1' + textToChange + '$3'); 

結果將是example.org/something

$1等於.

$2是要改變

$3等於/

目前我只能假設您想要的文本字符串變化是字母的混合物。您可以將[\w]+更改爲任何正則表達式以適合要更改的文本。

+0

我可以複製文本,即「com」 –

+0

您可以。var match = a.match(/(\。)([\ w] +)( \ /)/);'。你想要的字符串是'match [2]'。 – emil

0

一些簡單的

var a = "example.com/something" 
var c = a.substring(a.indexOf(".") + 1, a.indexOf("/", a.indexOf("."))); 
alert(c); 

更換,

a = a.replace(c, "NEW"); 
alert(a); 

用引號

a = a.replace(c, "\"\""); 
alert(a); 
+0

JSfiddling上面的解決方案給出了「e.com」的結果,但我只需要「com」作爲結果。 –

+0

@SaumyaBanthia現在檢查 – gurvinder372

+0

這項工作在'http:// www.duckduckgo.com /谷歌' – Tushar

1

您可以使用正則表達式\..*?\/String#replace刪除任何介於來取代它./

"example.com/something".match(/\.(.*?)\//)[1] // com 

正則表達式說明:

  1. \.:比賽.字面
  2. (.*?):匹配除換行符,非貪婪什麼,在第一捕獲組
  3. \/添加:比賽前斜線
+0

我認爲'example.com/something".replace(/....??,,'。\ co.uk /')'在這裏也可能有用 - 替換'.com' with'.co.uk'。 –

+0

@MikeChamberlain對不起,我不明白,有沒有提到有問題? – Tushar

+0

@Tushar謝謝你的回答和寫得很好的解釋 –

1

在你的問題給出將工作,如果你做一些小改變

var a = "example.com/something" 
var b = a.split(/[./]/); 
var c = b[1]; 
alert(c); 

b[1]會給./之間你不串B中的例子[0]

相關問題