JQuery 重新格式化文本并更改顺序

发布于 2025-01-07 10:50:26 字数 373 浏览 3 评论 0原文

我目前有这样的数据设置。

<div>zone 1,2 and 3 Tube ticket single to £2.20</div>
<div>zone 1,2 and 4 Bus ticket single to £3.20</div>

等等..还有很多。

我将如何使用 Jquery 像这样重新格式化它..

<div>123, Tube ticket single, 2.20</div>
<div>124, Bus ticket single, 3.20</div>

非常感谢,

I have data set up like this at the moment.

<div>zone 1,2 and 3 Tube ticket single to £2.20</div>
<div>zone 1,2 and 4 Bus ticket single to £3.20</div>

etc.. and there is a lot.

How would I use Jquery to reformat it like this..

<div>123, Tube ticket single, 2.20</div>
<div>124, Bus ticket single, 3.20</div>

Many Thanks,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

习ぎ惯性依靠 2025-01-14 10:50:26

如果没有 jQuery,您可以执行以下操作:

    var pattern = /(([\d]),([\d]) and ([\d]) ([\w].*) (to £)([\d]\.[\d][\d]))/;
    var str = 'zone 1,2 and 3 Tube ticket single to £2.20';
    var matches = str.match(pattern);

    var result = matches[2] + matches[3] + matches[4] + ', ' + matches[5] + ', ' + matches[7];

Wich 显示:“123,Tube Ticket single,2.20”

使用 jQuery:

var pattern = /(([\d]),([\d]) and ([\d]) ([\w].*) (to £)([\d]\.[\d][\d]))/;
$('div').each(function() {
    var matches = $(this).html().match(pattern);
    $(this).html(matches[2] + matches[3] + matches[4] + ', ' + matches[5] + ', ' + matches[7]);
});

Without jQuery you can do :

    var pattern = /(([\d]),([\d]) and ([\d]) ([\w].*) (to £)([\d]\.[\d][\d]))/;
    var str = 'zone 1,2 and 3 Tube ticket single to £2.20';
    var matches = str.match(pattern);

    var result = matches[2] + matches[3] + matches[4] + ', ' + matches[5] + ', ' + matches[7];

Wich displays: "123, Tube ticket single, 2.20"

With jQuery:

var pattern = /(([\d]),([\d]) and ([\d]) ([\w].*) (to £)([\d]\.[\d][\d]))/;
$('div').each(function() {
    var matches = $(this).html().match(pattern);
    $(this).html(matches[2] + matches[3] + matches[4] + ', ' + matches[5] + ', ' + matches[7]);
});
︶ ̄淡然 2025-01-14 10:50:26

您可以这样做:-

为了快速测试,请参阅实时演示

HTML

<div>zone 1,2 and 3 Tube ticket single to £2.20</div>
<div>zone 1,2 and 4 Bus ticket single to £3.20</div> 

JS

$("div").each(function(){

    $(this).text($(this).text().replace(/zone (\d),(\d) and (\d) (.*) to £([0-9]+(?:\.[0-9]*)?)/g, '$1$2$3, $4, $5'));

});

输出

<div>123, Tube ticket single, 2.20</div>
<div>124, Bus ticket single, 3.20</div> 

You can do this way:-

For your quick testing, refer the LIVE DEMO

HTML

<div>zone 1,2 and 3 Tube ticket single to £2.20</div>
<div>zone 1,2 and 4 Bus ticket single to £3.20</div> 

JS

$("div").each(function(){

    $(this).text($(this).text().replace(/zone (\d),(\d) and (\d) (.*) to £([0-9]+(?:\.[0-9]*)?)/g, '$1$2$3, $4, $5'));

});

OUTPUT

<div>123, Tube ticket single, 2.20</div>
<div>124, Bus ticket single, 3.20</div> 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文