2017-03-26 45 views
0

我正在尋找用另一個字符串替換部分字符串,但前提是首先滿足條件。一個例子是這樣的:如何用添加條件替換部分字符串

string='tan(x)*arctan(x)'

我想獲得字符串= 'np.tan(X)* np.arctan(X)'`

我如何使用

string.replace('tan','np.tan')

只有在'tan'之前沒有'arc'

string=string.replace('tan','np.tan')

string=string.replace('arctan','np.arctan')

打印字符串

感謝您的任何意見

回答

0

您可以使用正則表達式來解決您的問題。以下代碼在JavaScript中。因爲,你沒有提到你正在使用的語言。

var string = 'tan(x)*arctan(x)*xxxtan(x)'; 
 

 
console.log(string.replace(/([a-z]+)?(tan)/g,'np.$1$2'));

0

這裏有一個方法來完成這項工作:

var string = 'tan(x)*arctan(x)'; 
 
var res = string.replace(/\b(?:arc)?tan\b/g,'np.$&'); 
 
console.log(res);

說明:

/    : regex delimiter 
    \b   : word boundary, make sure we don't have any word character before 
    (?:arc)? : non capture group, literally 'arc', optional 
    tan   : literally 'tan' 
    \b   : word boundary, make sure we don't have any word character after 
/g    : regex delimiter, global flag 

替換:

$& : means the whole match, ie. tan or arctan