gpt4 book ai didi

Javascript 字符串操作 - 小写、替换、 trim 、分割

转载 作者:行者123 更新时间:2023-12-02 14:06:35 24 4
gpt4 key购买 nike

我可能可以使用 preg_replace 在 PHP 中管理此操作,但我需要在 JavaScript 中执行此操作,而且我很挣扎!

我将从数据库中获取起始字符串,例如:-

Black Pudding with Eggs

Sausage and Crispy Bacon

等等 - 总是由“and”或“with”分割两个“事物”。 “事物”可以是 1 个、2 个或更多个单词。

我需要的是 3 个新变量 - 两个变量一起,每个“事物”单独存在(“main”附加到第一个变量,“side”附加到第二个变量)。全部应为小写,所有空格更改为下划线,并且没有前导空格或训练空格。所以上面的内容会给我:-

var1 : 'black_pudding_with_eggs'
var2 : 'black_pudding_main'
var3 : 'eggs_side'

从第二个开始:-

var1 : 'sausage_and_crispy_bacon'
var2 : 'sausage_main'
var3 : 'crispy_bacon_side'

它所在的网站已经使用了 jQuery,所以这是一个选项,如果这样更容易的话......

非常感谢任何帮助!

最佳答案

jQuery 不是必需的。您可以将字符串拆分为数组并使用 .replace() 进行转换。

function getOrder(input) {
var item = input.replace(/ /g, '_').toLowerCase();

// there's probably a better way of splitting this, but I can't think of it.
var dish = (input.indexOf(' and ') > -1) ? input.split(' and ') : input.split(' with ');

var main = dish[0].replace(/ /g, '_').toLowerCase() + "_main";
var side = dish[1].replace(/ /g, '_').toLowerCase() + "_side";

// returns a JS object so to have access to all properties in one function
return {
item: item,
main: main,
side: side
};
}

然后,你可以得到这样的零件:

getOrder('黑布丁加鸡蛋').item for black_pudding_with_eggs

getOrder('黑布丁加鸡蛋').main for black_pudding_main

getOrder('黑布丁加鸡蛋').side for eggs_side

示例如下:https://jsfiddle.net/TheQueue841/tujdb98y/

请注意,此方法需要输入“and”或“with”,否则会出现问题。如有必要,可以轻松修改以适应这些要求。

关于Javascript 字符串操作 - 小写、替换、 trim 、分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40005061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com