【问题标题】:Remove slashes and replace spaces删除斜线并替换空格
【发布时间】:2019-03-08 03:26:46
【问题描述】:

我正在使用远程 .txt 文件来填充用于填充下拉选择的数组。它看起来像这样。

var myAnimalList = new Array();   
    function Food(anAnimal, aSpecies, anImage ) {

    this.Animal = anAnimal;
    this.Species = aSpecies;
    this.Image = anImage;
}

window.addEventListener("load", function(){

    document.getElementById("selAnimal").addEventListener("change", animalChosen);

    //big long string to parse
    var myAnimalData = InsectData2.txt;

    for (i = 0; i < AnimalDataLines.length; i++) {

        myAnimalData[i] = new Animals(subdata[0], subdata[1], subdata[2], subdata[3]);

      }     

但是,我的问题是。在 .txt 文件中,图像名称包含空格和斜杠 例如:

“棕色船长/Paratrylone/melane”

另一方面,图像名称如下所示:

“棕色船长partrlonemelane.jpg” .但图片名称

在将 .txt 文件名添加到数组之前,如何确保 .txt 文件名与图像名匹配?

【问题讨论】:

标签: javascript arrays dropdown populate


【解决方案1】:

如何匹配两者的正则表达式

const initial = "Brown Skipper/Paratrylone/melane"
    // change space to dash (-)
    .replace(/\s/g, '-')
    // change slash to empty string
    .replace(/\//g, '')
    .toLowerCase()

const final = "brown-skipperparatrylonemelane.jpg".replace('.jpg', '')

initial === final

【讨论】:

  • 看起来很棒,如果只有一个条目的话。太多了,无法单独编辑。