Javascript - 在变量中交换数据 - 移动和替换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript - 在变量中交换数据 - 移动和替换相关的知识,希望对你有一定的参考价值。
我正在寻找一种简单的方法来移动和用javascript替换一些数据。这是一个例子......我总是有两个变量。每个都有一个单词,后跟<p>
标签内的另一个单词,就像这样......
x="Hello<p>World</p>"
和y="Goodbye<p>People</p>"
步骤1)我不再需要x变量中的数据和<p>
标签。从变量中删除它,使其成为x="Hello"
步骤2)我需要将x变量与y变量的第一部分交换。所以最终结果将是......
x="Goodbye"
和y="Hello<p>People</p>"
答案
有许多方法可以做这样的事情。以下使用regex plus string.replace。
let x="Hello<p>World</p>";
let y="Goodbye<p>People</p>";
console.log('x starts as '+x);
console.log('y starts as '+y);
const r=/^(.*)<p>(.*)</p>/;
const xresult = r.exec(x);
//xresult = ["Hello<p>World</p>", "Hello", "World"]
x=xresult [1];
console.log('x now equals '+x);
const yresult = r.exec(y);
//yresult = ["Goodbye<p>People</p>", "Goodbye", "People"]
//now swap
y = y.replace(yresult[1],x);
x = yresult[1];
console.log(`x = ${x} y = ${y}`);
另一答案
尝试:
$(document).ready(function() {
var x="Hello<p>World</p>";
var y="Goodbye<p>People</p>";
x = x.slice(0,x.indexOf("<p>"));
var z= y.slice(0,y.indexOf("<p>"));
y = y.replace(z,x);
x = z;
console.log("x=" + x + " y=" + y);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
另一答案
事实证明这比我想象的要容易。刚刚使用了一些子串......
x = x.substring(0, x.indexOf('<p>'));
z = y.substring(0, y.indexOf('<p>'));
y = y.substring(y.indexOf("<p>"));
y=x+y;
x=z;
以上是关于Javascript - 在变量中交换数据 - 移动和替换的主要内容,如果未能解决你的问题,请参考以下文章