繁体   English   中英

3 While循环成一个循环?

[英]3 While Loops into a Single Loop?

我必须从HTML文本值中删除逗号,句点和连字符。 我不想编写所有这3个while循环,而是只希望一个循环(任何一个)来完成所有这一切。

我已经尝试了一段时间,其中有多个&&,如果嵌套在其他位置,但我总是只会删除逗号。

while(beg.indexOf(',') > -1)
{
    beg = beg.replace(',','');
    document.twocities.begins.value= beg;
}

while(beg.indexOf('-') > -1)
{
    beg = beg.replace('-','');
    document.twocities.begins.value= beg;
}
while(beg.indexOf('.') > -1)
{
    beg= beg.replace('.','');
    document.twocities.begins.value= beg;

}

您可以使用正则表达式来完成所有这些操作而无需循环。 这是使用单个正则表达式删除所有这些字符的示例:

 let str = "abc,de.fg,hij,1-2,34.56.7890" str = str.replace(/[,.-]/g, "") console.log(str) 

使用正则表达式如下。

 let example = "This- is a,,., string.,"; console.log(example.replace(/[-.,]+/g, "")); 

一次调用replace函数并使用正则表达式就足够了:

document.twocities.begins.value = beg = beg.replace(/[,.-]/g, "");

正则表达式是一种模式匹配语言。 这里采用的模式基本上说“人物之一的每次出现.,- )”。 请注意,斜杠/限制了模式,而后缀由控制匹配过程的标志组成-在这种情况下,它是g (全局),告诉引擎替换每个匹配项(与第一次不带该标志的情况相反)。

该站点提供了大量有关正则表达式,它们在编程中的用法以及在不同编程环境中的实现的信息。

有多个在线站点可以测试实际的正则表达式及其匹配项(包括说明),例如。 正则表达式101

甚至更多的细节...;):您可以将.replace函数与字符串一起用作第一个参数(就像在代码示例中所做的那样)。 但是,只有第一次出现的搜索字符串将被替换-因此,您将不得不求助于循环。 .replace函数(通常是JS)的规范可以在这里找到。

首先,不需要循环。

您可以使用String.replace()替换字符串中的字符,并可以使用正则表达式确定要替换的字符和模式。

 let sampleString = "This, is. a - test - - of, the, code. "; console.log(sampleString.replace(/[,-.]/g, "")); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM