String 替换字符串中的变量

String 替换字符串中的变量,string,replace,String,Replace,我正在从一个文件中获取以下文本 root.folder.wms=/$tmpc/INTEGRATION\u MESSAGES/wms 我想替换$tmpc=localhost 输出应该是这样的 root.folder.wms=//localhost/INTEGRATION\u MESSAGES/wms 我尝试过,但没有成功我不知道您是用哪种语言遇到这个问题的,也不知道您尝试过什么代码,但我已经用javascript、java和c#执行了代码,并得到了相同的(预期的)输出。如果你需要,你可以参考这个

我正在从一个文件中获取以下文本

root.folder.wms=/$tmpc/INTEGRATION\u MESSAGES/wms

我想替换$tmpc=localhost

输出应该是这样的 root.folder.wms=//localhost/INTEGRATION\u MESSAGES/wms


我尝试过,但没有成功

我不知道您是用哪种语言遇到这个问题的,也不知道您尝试过什么代码,但我已经用javascript、java和c#执行了代码,并得到了相同的(预期的)输出。如果你需要,你可以参考这个

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);

          }
//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"));
  }
}
//Java脚本代码
函数callMe()
{
str=“root.folder.wms=/$tmpc/INTEGRATION\u MESSAGES/wms”;
警报(str);
var output=str.replace(“$tmpc”,“localhost”);
警报(输出);
document.getElementById(“demo”).innerHTML=输出;
} 
我的第一个JavaScript

//java代码 公共类替换测试{ 公共静态void main(字符串参数[]){ String str=“root.folder.wms=/$tmpc/INTEGRATION\u MESSAGES/wms”; System.out.println(str.replace(“$tmpc”,“localhost”); } } //C#代码 使用制度; 使用系统诊断; 公共类替换测试 { 公共静态void Main() { string str=“root.folder.wms=/$tmpc/INTEGRATION\u MESSAGES/wms”; WriteLine(str.Replace(“$tmpc”,“localhost”); } }
您尝试了什么?结果是什么?请添加您的代码,以便我们知道您尝试了什么,因为这似乎非常简单。使用什么替换文本?任何特定的语言/环境?我需要Perl中的脚本:下面是我的脚本$Replace is contains=>root.folder.wms=/$tmpc/INTEGRATION\u MESSAGES/wms$tmpc=“abcd”$replace=$replace;打印“\n====>”$replace.\n”$行=~s/$find/$replace/ig;最后的输出是root.folder.wms=/$tmpc/INTEGRATION\u MESSAGES/wms,这意味着没有任何更改$tmpc=“localhost”$temp=“root.folder.wms=/$tmpc/INTEGRATION\u MESSAGES/wms”;打印“输出:”.$temp;这是完美的。。但问题是我从文件中获取字符串“root.folder.wms=/$tmpc/INTEGRATION\u MESSAGES/wms”,如何将$tmpc替换为本地主机最终解决了这个问题。添加此逻辑%envs=(“WMS_机器”,“$environment_pc3”,“TMS_机器”,“$environment_pc2”,“CURRENT_DATE”,“CURRENT_DATE”,“DATABASEHOST_AND_SIDNAME”,“$TMS_DB_Host_SID”);最后它解决了。添加此逻辑%envs=(“WMS_机器”,“$environment_pc3”,“TMS_机器”,“$environment_pc2”);我的@line\u数组=拆分(/=>/,$fine\u replace\u line);$find=trim($line_数组[0]);$replace=trim($line_数组[1]);$file=“$Target_filename”;打开(在$file中)| |模具;@lines=;接近;打开(OUT,“>”,$file)| |模具;foreach$line(@lines){if($line=~$find){foreach$replace\u var(键%envs){$replace=~s/$replace\u var/$envs{$replace\u var}/ig;}$line=~s/$find/$replace/ig;}打印出$line;}