Javascript - обмен данными в переменных - переместить и заменить - PullRequest
0 голосов
/ 15 февраля 2019

Я ищу простой способ переместить и заменить некоторые данные на JavaScript.Вот пример ... У меня всегда есть 2 переменные.У каждого есть слово, за которым следует другое слово внутри тегов <p>, например ...

x="Hello<p>World</p>" и y="Goodbye<p>People</p>"

Шаг 1) Мне больше не нужны данные и<p> тегов в переменной x.Уберите это из переменной, чтобы оно стало x="Hello"

Шаг 2) Мне нужно поменять местами переменную x с первой частью переменной y.Таким образом, конечный результат будет ...

x="Goodbye" и y="Hello<p>People</p>"

Ответы [ 3 ]

0 голосов
/ 15 февраля 2019

Есть много, много способов сделать такие вещи.Далее используется регулярное выражение плюс 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}`);

Обратите внимание, что это буквальный ответ на ваш вопрос.Это может быть не совсем то, что вы ищете, поскольку это действительно зависит от контекста.т.е. это просто строка или структурированный бит HTML, который вы хотите изменить (в этом случае DOM API, вероятно, является лучшим подходом).

0 голосов
/ 15 февраля 2019

Оказалось проще, чем я думал.Просто использовал несколько подстрок ...

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;
0 голосов
/ 15 февраля 2019

Попробуйте:

$(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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...