从字符串中删除-之后的一些文本
remove some text after - from string
我想使用javascipt或jquery从字符串或整数中删除一些文本。。
我有字符串"flow-[s/c]"
、"flow-max[s/c]"
、"flow-min[s/c]"
、"Usage-[s/c]"
、"temperature"
我希望每个人:"flow"
、"flow-max"
、"flow-min"
、"Usage"
、"temperature"
正如你所看到的。我想删除-
之后的所有数据,除了flow-max
和flow-min
我在做什么:
var legendName = $(textElement).text().toLowerCase().replace(" ", "-");
以图例名称为例:"flow-[s/c]", "flow-max[s/c]"
var displayVal = legendName.split('-')[0];
删除-
找到后的所有数据
但我不能为flow-max
添加条件,因为在这种情况下,我将有两个-
和两个像flow-min-[s/c]
一样的位置
var displayVal = $(textElement).text().replace(/'-?'[s'/c']/, "");
代码/'-?'[s'/c']/
是一个正则表达式,其中:
- 起始和结束处的
/
是表达式的分隔符 '
是一个转义符,表示下面的字符应该是字面意义上的(在我们的示例中,我们需要它在-
、[
、/
和]
之前,因为它们是正则表达式的控制字符)?
表示前一个字符是可选的
因此,它用一个空字符串替换了后面跟着文本[s/c]
的可选短划线(-
)。
只需使用这个简单的正则表达式/(max|min)'[.*?]|-'[.*?]/g
。正则表达式很简单,如果您看到它分别做什么的话。
该逻辑已由|
运算符分离。
legendName = legendName.replace(/(max|min)'[.*?]|-'[.*?]/, "$1");
您可以使用lastoccur = legendName.lastIndexOf("-");
查找"-"的最后一个出现,然后拆分字符串。
参考:http://www.w3schools.com/jsref/jsref_lastindexof.asp
相关文章:
- PHP/Ajax/jquery/JON-在Ajax Post之后将echo文本中的一部分作为变量返回
- 如何使文本自动出现在HTML页面中的所有块引号之后
- 使文本在它之后再次可见'It’s被一个按钮隐藏了
- 将文本追加到之后特定行的文本区域
- CKEditor - 插入文本在 setData 之后不起作用
- 从字符串中删除-之后的一些文本
- 文本在jQuery中仅位于第一行之后的行的中心
- 匹配最后一个点之后的文本字符串
- Qualtrics:在矩阵表中的文本框之前/之后添加不同的字符
- 获取第二个文本区域之后的下一个所有输入
- 如何使用原型.js在文本块之后插入内容
- 单击语法错误:标识符在数字文本之后立即开始
- 正则表达式在文本中查找匹配项,而不是在单词之后
- eval 语法错误:标识符在数字文本之后立即开始
- Javascript在关键字之后剪切文本
- 在输入数组的 split() 和子字符串 () 之后的文本区域中显示
- 如何在文本的每 5,000 个字符之后的第一个
或
之后插入一个 - 关注引导浮动模态表单上自定义文本之后的文本区域
- 我如何将插入的URL添加到输入文本之后的图像中
- SyntaxError:在Firebug中,标识符在数字文本之后立即开始