2014-12-02 5 views
0

я получаю ниже текст из файлаЗаменить переменную в строку

root.folder.wms = // $ tmpc/INTEGRATION_MESSAGES/WMS

я хотел заменить $ tmpc = локальный

В Вывод должен быть, как это root.folder.wms = // локальный/INTEGRATION_MESSAGES/WMS

я пытался, но не повезло

+0

Что вы попробовали? Каков был результат? – geert3

+0

Пожалуйста, добавьте ваш код, чтобы мы знали, что вы пробовали, поскольку это кажется очень простым. –

+0

Заменить текст, используя что? – zulq

ответ

0
String st="root.folder.wms=//$tmpc/INTEGRATION_MESSAGES/WMS"; 

    int temp=0; 

      temp=st.indexOf("$"); 


     String st1= st.substring(0,temp); 
     String st2= st.substring(temp+5,st.length()); 
     System.out.println(st1); 
     System.out.println(st2);    
     String st3=st1+"localhost"+st2; 
     System.out.println(st3); 

      } 
0

Я не знаю, на каком языке у вас возникла эта проблема, и какой код вы пробовали, но я выполнил код в javascript, java и C# и получил тот же (ожидаемый) вывод. если вам нужно, вы можете сослаться на это.

//Java script code 
<!DOCTYPE html> 
<html> 
<head> 
<script> 
function callMe() 
{ 
    str="root.folder.wms=//$tmpc/INTEGRATION_MESSAGES/WMS"; 
    alert(str); 
    var output= str.replace("$tmpc","localhost"); 
    alert(output); 
    document.getElementById("demo").innerHTML= output; 
} 
</script> 
</head> 
<body onload="callMe()"> 

<h1>My First JavaScript</h1> 
<p id="demo"></p> 
</body> 
</html> 

//java code 

public class ReplaceTest{ 
    public static void main(String args[]){ 
     String str="root.folder.wms=//$tmpc/INTEGRATION_MESSAGES/WMS"; 
     System.out.println(str.replace("$tmpc","localhost")); 
    } 
} 

//C# code 
using System; 
using System.Diagnostics; 
public class ReplaceTest 
{ 
    public static void Main() 
    { 
    string str = "root.folder.wms=//$tmpc/INTEGRATION_MESSAGES/WMS"; 
    Debug.WriteLine(str.Replace("$tmpc", "localhost")); 
    } 
} 
+0

$ tmpc = "localhost"; $ temp = "root.folder.wms = // $ tmpc/INTEGRATION_MESSAGES/WMS"; print "output:". $ Temp; этот вывод положительный. Но проблема в том, что это Я получаю эту строку «root.folder.wms = // $ tmpc/INTEGRATION_MESSAGES/WMS» из a из файла, как я могу заменить $ tmpc как локальный узел –

+0

Наконец, решена. после добавления этой логики % envs = ("WMS_Machine", "$ environment_pc3", " TMS_Machine", "$ environment_pc2", " CURRENT_DATE", "$ CURRENT_DATE", " DATABASEHOST_AND_SIDNAME", "$ TMS_DB_Host_SID"); –

+0

Наконец-то его разрешили.после добавления этой логики % envs = («WMS_Machine», «$ environment_pc3», «TMS_Machine», «$ environment_pc2»); my @line_array = split (/ => /, $ fine_replace_line); \t \t $ find = trim ($ line_array [0]); \t \t $ replace = trim ($ line_array [1]); \t \t $ file = "$ Target_filename"; \t \t open (IN, $ file) || умереть; \t \t @ lines = ; \t \t close IN; \t \t open (OUT, ">", $ file) || умереть; \t \t Еогеасп $ линии (@ строки) {если ($ строка = ~ $ находкой) { \t \t \t \t Еогеасп $ replace_var (ключи% envs) \t \t \t \t \t {$ заменить = ~ s/$ replace_var/$ envs {$ replace_var}/И.Г.; } \t \t \t \t \t $ line = ~ s/$ find/$ replace/ig; \t \t \t \t} print OUT $ line; \t \t} –

Смежные вопросы