gpt4 book ai didi

javascript - 是否可以使用代码来转换格式为 'list' : "translation"? 的列表

转载 作者:太空宇宙 更新时间:2023-11-03 18:18:43 25 4
gpt4 key购买 nike

我希望能够更改编码中的单词列表,例如

var words= { 
AFK Away from the keyboard 4U For you B4N By for now BBL Be back later BDAY Birthday CBA Can't be asked }

更改为这种格式:

var words= {
'AFK': "Away from the keyboard", '4U': "For you", 'B4N': "By for now", 'BBL': "Be back later", 'BDAY': "Birthday", 'CBA': "Can't be asked",
}

无需使用 HTML/JavaScript 手动将每个单词更改为格式。然而我知道这可能是不可能的,但我想我会看看是否有人知道如何做到这一点。从我读到的内容来看,我似乎必须使用Python和数据库,但我对Python一无所知,所以我希望(可能是徒劳的)有一些我可以使用的HTML/JavaScript代码还没看到能解决这个问题!

我在这里发现了一个类似的问题,但这并不是我真正想要的,因为它使用 python: [ turning data into a list

我想做的就是更改这种格式的所有单词:例如 远离键盘 AFK

格式为'AFK':“远离键盘”,

这段代码的目的是将文本缩写翻译成真正的英语单词,它已经在这样做了,但是为了获得相当数量的单词来翻译,我需要获取上述格式的单词,如果我单独格式化每一个。如果有帮助的话,这是其余的代码:

function replacer() {
var text= document.getElementById("textbox1").value;
for (var modifiers in translationwords){
text = text.replace(new RegExp('\\b' + modifiers + '\\b', 'gi'), translationwords[modifiers]); }
document.getElementById("textbox2").value=text;
document.getElementById("add").onclick= function storage() {
if(!document.cookie) document.cookie = "";
document.cookie = document.cookie +"<li>"+document.getElementById("textbox1").value+ ":"+"</li>";
document.cookie = document.cookie +"<li>" + document.getElementById("textbox2").value+ "</li>";
document.getElementById("array").innerHTML= document.cookie;
}

}




function textdelete(x) {
if (x.value=="ENTER TRANSLATION HERE"){
x.value="";
};
}

谢谢

最佳答案

如果您的单词一开始就在字符串中,那么可以说可以按照您想要的方式将其翻译为对象,但这可能不是最准确的翻译。

由于看起来所有缩写都是大写且没有空格,因此我们可以查看字符串,并将所有大写/数字“words”设置为属性,并将以下文本字符串作为值。在 javascript 中,类似这样的东西可以工作。

//set words as string
var string = "AFK Away from the keyboard 4U For you B4N By for now BBL Be back later BDAY Birthday CBA Can't be asked";

// create empty dictionary for storage
var dictionary = {};

// use regex to find all abbreviations and store them in an array
var abbreviations = string.match(/[A-Z0-9]+(?![a-z])\w/g);
// returns ["AFK", "4U", "B4N", "BBL", "BDAY", "CBA"]

// use regex to replace all abbreviations with commas...
englishWords = string.replace(/[A-Z0-9]+(?![a-z])\w/g, ',');
// Edit (see below):
englishWords = englishWords.replace(/\W,\W/g,',');
// End edit
// then split string into array based on commas
englishWords = englishWords.split(',').slice(1);

// finally loop over all abbreviations and add them to the dictionary with their meaning.
for(var i = 0; i < abbreviations.length; i++){
dictionary[abbreviations[i]] = englishWords[i];
}

编辑:上述解决方案仍然可能在每个英文字符串的开头或结尾处有空格。您可以在拆分字符串之前添加这行代码以删除空格。

englishWords = englishWords.replace(/\W,\W/g,',');

关于javascript - 是否可以使用代码来转换格式为 'list' : "translation"? 的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24590077/

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