- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
可能我做错了什么,我在 PHP 中找到了一个正则表达式来实现所需的替换在C# ,但将其应用于 javascript 失败。
示例:
text ( 4 |-4 | 1 "test") [ 0 50 90 ]
应该清理到:
text(4|-4|1 "test")[0 50 90]
如您所见,我删除了方括号和 | 前后的所有空格。
到目前为止我的代码:
// remove whitespaces around brackets []
text = text.replace(/\s*\[\s*(.*?)\s*]\s*/g, '[$1]');
// remove whitespaces around brackets ()
text = text.replace(/\s*\(\s*(.*?)\s*\)\s*/g, '($1)');
// remove all whitespaces around | (FAILS)
// text = text.replace(/\s*\|\s*(.*?)\s*\|\s*/g, '|$1|');
// text = text.replace(/\s*|\s*/, '$1');
看起来也太复杂了。
我想知道每个标志的正则表达式。
并非所有替换都在一个正则表达式中,为了学习我更喜欢每行一个替换。
最佳答案
这样就可以了:
var text = 'text ( 4 |-4 | 1 "test" ) [ 0 50 90 ]';
text = text.replace(/\s*([|()[\]])\s*/g, '$1');
alert(text)
此正则表达式查找(可选的)空格,然后,在一个捕获组中,一个不能有边界空格的字符,然后是另一个可选的空格,并只用字符替换所有字符,有效地删除空格。
现在,如果你想将替换放在单独的行上,并且只替换空格字符,而其他空白保持不变,试试这个:
var text = 'text ( 4 |-4 | 1 "test" ) [ 0 50 90 ]';
text = text.replace(/ *([|]) */g, '$1')
.replace(/ *([(]) */g, '$1')
.replace(/ *([)]) */g, '$1')
.replace(/ *([[]) */g, '$1')
.replace(/ *([\]]) */g, '$1');
alert(text)
或者这个:
var text = 'text ( 4 |-4 | 1 "test" ) [ 0 50 90 ]';
text = text.replace(/ *(|) */g, '$1')
.replace(/ *(\() */g, '$1')
.replace(/ *(\)) */g, '$1')
.replace(/ *(\[) */g, '$1')
.replace(/ *(\]) */g, '$1');
alert(text)
对于单个字符,字符类有点矫枉过正,但是您需要转义 ()[]
,然后。 (就像我在最后一个片段中所做的那样)
关于正则表达式 : How to remove all whitespaces around certain character?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33078568/
我需要为一个小项目想出一个正则表达式。 字符串不应以: "/wiki" 而且它也不应该有下面的模式"/.*:.*"(基本上模式以字符 '/' 开头,之后出现任何 ':') 而且它也不能有某个字符'#'
嗨,我有一个 react 应用程序,我正在返回几个按钮。我想做的是根据您单击的按钮,另一个组件将在 View 中显示和渲染。我已经查看了文档中的条件渲染,但我不确定如何将其与状态联系起来并渲染我所期望
如何编写 if 语句,使其仅在选择框中的值 A 更改为值 B 时应用? https://jsfiddle.net/mademoiselletse/gv0ohdzv/1/ 我有以下“英里”选择框和“剩余
我需要一个匹配 7 字母单词的正则表达式,该单词以 'st' 开头。例如,它应该只匹配以下内容中的 'startin':start startin starting 最佳答案 一般提示: 起始符号直接
我知道这两个端点:/users/{user-id}/media/recent和/tags/{tag-name}/media/recent 但我试图只获取某个用户发布的也有某个主题标签的帖子。有没有简单
我想当在下拉列表 1 上选择项目 x5 时,在下拉列表 2 上自动选择项目 y0 x5 x4
我有一个要求,我们将把一堆不同供应商的金融价格“firehosing”到 Kafka 中的一个“市场数据”主题中。问题是,其中一些供应商具有细粒度的许可要求,一直到单个证券。如果不为每个不同的许可粒度
我想使用神经网络来学习输入向量和输出向量的映射。该问题的物理原理有限制,某些输入节点仅对某些输出节点有影响。我想在训练中使用这个约束。 如果我将神经网络表述为有向图,我想象从某些输入节点到输出节点的路
所以我在一页上弹出了两个表格。这是我之前用来选择第一个表中的所有复选框(当时是唯一一个)的脚本: $('#selectAll').click(function() { if(this.ch
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this q
我正在尝试显示 | 管道字符以分隔我页面上的链接。但问题是它们都有相同的类,如果我将它应用于类,它们都会得到管道,这很好,除了最后一个。我能够抵消这种情况的唯一方法是将我需要的那些应用到一个 id,除
所以我有一个包含大约 300 个 .txt 文件的文件夹,所有文件的命名如下 ERROR WITH Position Post_20162602_052055.txt ERROR WITH Posit
我的问题很简单,但我找不到简单的解决方案:我有一个大于或等于 16 的整数,所以至少 1000 是二进制的。我希望使用按位非运算符翻转第三位。在这种情况下,它将是 1100。 有没有运营商可以做到这一
感谢对 my previous question 的回答,我能够创建一个函数宏,使其返回 Map将每个字段名称映射到它的类值,例如 ... trait Model case class User (n
我的应用程序 Nib 中有以下项目: 通常:文件所有者、第一响应者窗口、委托(delegate) View Controller “a” 查看“b” UIScrollView“c” “b”中的一些其他
假设我的屏幕上有 100 个由 *ngFor 生成的 div,它们从具有类似数据的对象中获取值 {A1:someOtherObject,A2:someOtherOtherObject...,J10:s
我正在使用抽象类和虚拟方法。目前,我有一个由按钮单击和两个多行文本框组成的窗口窗体,我在其中显示结果。基类有一个默认构造函数和一个接受基类所需的所有必要数据的构造函数。有两个类 Trees 和 Tom
我有一个数据集可以调查不同种族(黑人、白人和拉丁裔)个体的抑郁症。 我想知道基线时的抑郁症与所有种族的后期抑郁症有何关系,我做到了 lm(depression_base ~ depression_po
如何根据长度排除某些术语?例如,不要将少于 3 个字母或多于 20 个字母的术语编入索引。还排除以数字开头的单词。 谢谢, 最佳答案 StandardAnalyzer 有一个您可以设置的 maxTok
我正在寻找一个脚本,可以根据单词的位置突出显示一定数量的单词。例如,对于以下内容我只想突出显示第二个、第三个和第四个单词: Quisque bibendum sem ut lacus. In
我是一名优秀的程序员,十分优秀!