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