草庐IT

查找替换

全部标签

javascript - 如何使这个正则表达式替换对所有字符起作用,而不仅仅是第一个?

我正在尝试用连字符替换字符串中的所有空格。我试过这个:h3Text.replace(/\s/,'-');但它只会替换空格的第一个实例,而不会替换后面的空格。使其替换所有空格的正则表达式是什么? 最佳答案 尝试h3Text.replace(/\s/g,'-');g标志在这里很关键。表示globalreplace,即全部替换 关于javascript-如何使这个正则表达式替换对所有字符起作用,而不仅仅是第一个?,我们在StackOverflow上找到一个类似的问题:

JavaScript:更长的键是否会使对象查找变慢?

问题标题几乎说明了一切:更长的键是否会导致查找速度变慢?是:someObj["abcdefghijklmnopqrstuv"]慢于:someObj["a"]另一个子问题是用作键的字符串中字符的类型是否重要。字母数字键字符串更快吗?我尝试做一些研究;网上似乎没有太多关于此的信息。任何帮助/见解将不胜感激。 最佳答案 一般不会。在大多数语言中,字符串文字是“interned”,这会对它们进行哈希处理并使它们的查找速度更快。一般来说,不同的javascript引擎之间可能存在一些差异,但总体而言,如果它们实现得好(咳IE咳),它应该是相当

javascript - 使用 js regex 将简单的标记样式(如 **bold** 替换为 <b>bold</b>)

我正在尝试获取一大块纯文本并将其部分转换为html标记。我不需要一个完整的富编辑器,只需要这几个标签:**bold**__underline__~~italics~~--strike-->这是我尝试编写的方法,但我缺少正则表达式/js似乎阻碍了它:functiontoMarkup($this){vartext=$this.text();text=text.replace("\*\*(.*)\*\*","$1");text=text.replace("__(.*)__","$1");text=text.replace("~~(.*)~~","$1");text=text.replace(

javascript - 在 textarea 中输入时,将垂直条 ("|") 替换为 Devanagari Danda ("।")

我想在使用javascript在textarea中输入竖线(|)后立即将其替换为DevanagariDanda(।)。首先我尝试了HowtochangecharacterstypedinFirefox上给出的解决方案.但它仅将字符添加到末尾。所以,我遵循了http://www.jsfiddle.net/EXH2k/6/上给出的解决方案这是TimDown在Changingthekeypress上建议的还有showdifferentkeyboardcharacterfromthetypedoneingooglechrome.但它对我不起作用(无论是在Firefox还是在IE10中)。代码:

javascript - 将\n 替换为我在 $sce.trustAsHtml() 上使用的模型变量上的 <br> 标记

出于明显的原因(防止攻击),我使用以下两个过滤器的组合首先从用户输入中删除所有HTML,然后替换标记中的所有\n。filters.filter('newlines',function(){returnfunction(text){console.log(text)returntext.replace(/\n/g,'');}})filters.filter('noHTML',function(){returnfunction(text){returnBoolean(text)?text.replace(/&/g,'&').replace(/>/g,'>').replace(

javascript - 使用 Knockout 组件时替换容器元素

有没有办法配置Knockoutcomponent替换容器元素而不是将其内容嵌套在容器元素中?例如,如果我使用以下模板将自定义组件注册为my-custom-element:Helloworld!是否可以像这样使用组件:最终产品是这样的:Helloworld!而不是这样:(Knockout默认渲染组件的方式)Helloworld!Basedontheanswertothisquestion,似乎此功能内置于模板引擎中,我假设在呈现组件模板时也会使用它。有没有一种方法可以指定组件应该使用replaceNode的renderMode进行渲染?我知道“虚拟元素”语法,它允许在HTML注释中定义组

javascript - 在 Aurelia 中用模板本身替换自定义元素(而不是将其包含在自定义元素中)?

假设我有一个自定义元素我不想将标记渲染到标签中,而是想替换它们,以便“foo-bar”元素不再是DOM的一部分。我相信Angular通过transclude属性做到这一点。有没有办法在Aurelia中做到这一点? 最佳答案 您需要在组件上使用containerless装饰器。来自文档的CustomElementsSection:@containerless()-Causestheelement'sviewtoberenderedwithoutthecustomelementcontainerwrappingit.Thiscannot

javascript - 在不制作副本的情况下替换 react redux reducer 中的新状态

如果我已经完全替换了状态的一部分,我是否仍然需要使用Object.assign或扩展运算符来复制原始状态并将其替换为新状态,或者我可以直接返回我的reducer中的新状态?constfetching=(state={isFetching:false},action)=>{switch(action.type){case'REQUESTING':returnObject.assign({},state,{isFetching:true})case'RECEIVE_POKEMON_TYPE_INFO':returnObject.assign({},state,{isFetching:fal

javascript - 查找数组中最接近的较小值

我想我想要的很简单,但我找不到正确的解决方案。我在Javascript中有这种数组:[0,38,136,202,261,399]我在单击按钮时得到一个从0到600的生成值。我需要的是在这个数组中找到最近的较低值。例如,如果生成的值为198,我想得到136作为结果。如果生成的值是300,我想要261...如果是589,我想要399等等。到目前为止,我已经尝试过这段代码:vartheArray=[1,3,8,10,13];vargoal=7;varclosest=null;$.each(theArray,function(){if(closest==null||Math.abs(this-

javascript - 如何替换 block /段落前后的字符?

这是我替换单词前后字符的方式:el=el.replace(/"\b/g,'“')el=el.replace(/\b"/g,'”')如果我想转这个怎么办:```Thisisaquote```进入这个?Thisisaquote 最佳答案 可以匹配^```,惰性重复任何字符,直到到达另一个字符^```.开头的^保证三个反引号在一行的开头,下面的[\s\S]是匹配任意的方式字符,包括换行符,.默认不这样做:functiondoReplace(str){console.log(str);console.log(str.