搜索字符串中的字符,其中包含多个角4的字符

时间:2018-10-11 16:28:04

标签: javascript angular string indexof

我有两个字符串,例如“ L7-LO”和“%L7-LO”。

如果字符串仅包含“-”,则需要基于此进行一些处理;如果字符串包含这两个字符“-”,则“%”仅需要考虑%,而忽略“-”字符。

为此,我在下面做到了

   if (this.selectedSources[formula].Value.indexOf('%') == -1) {
    this.formulaType = "percent"
  }
  else if (this.selectedSources[formula].Value.indexOf('-') == -1) {
    this.formulaType = "diff";
  }

但是上面的代码不起作用..

能不能让我知道如果有两个字符的情况下如何仅区分一个字符

2 个答案:

答案 0 :(得分:1)

如果条件应更改。其余一切都很好-

if (this.selectedSources[formula].Value.indexOf('%') !== -1) {
    this.formulaType = "percent"
 }
  else if (this.selectedSources[formula].Value.indexOf('-') !== -1) {
    this.formulaType = "diff";
 }

答案 1 :(得分:1)

如果您需要同时测试字符串中的%-,则可以使用RegEx:

const regex = new RegEx(/.*[%]{1}.*[-]{1}/);
this.formulaType = regex.test(this.selectedSources[formula].Value) ? 'percent' : 'diff';

否则,您可以只使用.indexOf('%')

this.formulaType = this.selectedSources[formula].Value.indexOf('%') !== -1
  ? 'percent'
  : 'diff';