使用星号作为分隔符,使用<li> </li>格式化捕获的数据

时间:2019-10-31 16:44:39

标签: regex angular

我遇到的问题是我的字符串格式如此

"*word words words. *word word word. *anotherword anotherword."

我需要格式化为li标签才能像这样显示

  • 单词单词单词
  • 单词单词单词
  • 另一个词另一个词。

我尝试过

^((?!\*).)*$

,但这不是必需的。 谢谢。

4 个答案:

答案 0 :(得分:1)

尝试使用正则表达式:(?<=\*).*?(?=\.)

Demo

答案 1 :(得分:1)

使用split并对其进行迭代,如下所示-

str = "*word words words. *word word word. *anotherword anotherword.".split('*').slice(1);


<ul>
  <li *ngFor='let word of str'>{{word}}</li>
</ul>

Working example

答案 2 :(得分:1)

这与正则表达式无关,这只是一点点javascript:

ts文件:

substrings: string = mystring.split('*');

在html中:

<li *ngFor="let string of substrings">{{ string }}</li>

答案 3 :(得分:0)

尝试以下代码:

tempStr = "*word words words. *word word word. *anotherword anotherword.".split('*');
  str = []

  constructor() {
    this.tempStr.map(element=>{
       if(element != ""){
      this.str.push(element);
    }
    })
  }

给出的解决方案未检查是否为空,而是直接切片第一个元素。如果在开始位置没有*字符,则slice将删除array中的第一个元素,在这里您将丢失数据。