我有2个具有值的javascript变量:
var Name = 'John';
var Age = '14';
和另一个看起来像这样的字符串变量:
var message = 'I am **Name** and my age is **Age**';
如何将Name
和Age
变量的值注入message
字符串,以使用值'John'替换**Name**
和**Age**
'14'?
var newmessage = 'I am John and my age is 14';
我可以使用javascript函数执行此操作吗?
答案 0 :(得分:5)
使用String#replace
方法并从var Name = 'John';
var Age = '14';
var message = 'I am **Name** and my age is **Age**';
var newmessage = message.replace(/\*\*([\w\d]+)\*\*/g, function(m, m1) {
return window[m1];
});
console.log(newmessage)
对象获取变量(仅当在全局上下文中定义变量时,其他方式需要使用我不喜欢的eval()
方法使用。)。
var obj = {
Name: 'John',
Age: '14'
};
var message = 'I am **Name** and my age is **Age**';
var newmessage = message.replace(/\*\*([\w\d]+)\*\*/g, function(m, m1) {
return obj[m1];
});
console.log(newmessage)
或者使用对象而不是变量来存储值,这样即使它没有在全局上下文中定义,也可以轻松获取值。
$(document).ready(function(){
var d = new Date();
var n = d.getHours();
if (n > 19 || n < 6)
// If time is after 7PM or before 6AM, apply night theme to ‘body’
document.body.className = "night";
else if (n > 16 && n < 19)
// If time is between 4PM – 7PM sunset theme to ‘body’
document.body.className = "sunset";
else
// Else use ‘day’ theme
document.body.className = "day";
});
答案 1 :(得分:3)
尝试使用简单的string.replace()功能
public static void main(String[] args){
String file = "/Path/to/file/abc.csv";
SparkConf conf = new SparkConf().setAppName("test").setMaster("local");
JavaSparkContext sc = new JavaSparkContext(conf);
JavaRDD<String> lines = sc.textFile(file);
JavaRDD<String > filteredLines = lines.filter(new Function<String, Boolean>() {
@Override
public Boolean call(String s) throws Exception {
return s.contains("Hollywood");
}
});
filteredLines.coalesce(1).saveAsObjectFile("hdfs://localhost:9000/input");
sc.close();
}
答案 2 :(得分:0)
这个解决方案怎么样?检查 FIRST ,如果这些subStrings实际上是字符串消息的一部分。希望它有所帮助!
var Name = 'John';
var Age = '14';
var message = "I am **Name** and my age is **Age**";
console.log(myFunction(message));
function myFunction(str){
var finalMessage = "";
if(str.indexOf("**Name**") !== -1){
finalMessage = str.replace('**Name**' ,Name);
}
if(finalMessage.indexOf("**Age**") !== -1){
finalMessage = finalMessage.replace("**Age**" ,Age);
}
return finalMessage;
}
&#13;