如何去除文本中的空格。

12

我如何在我的Angular应用程序中截取文本字符串?

示例

{{ someobject.name }}  

someobject.name的结果是"name abc"

我想要实现的是将name变成"nameabc"(去掉所有空格)。

我已经创建了一个管道,并将其包含在了typescript文件和模块中)

管道:

import { Pipe, PipeTransform } from "@angular/core";

@Pipe({ name: 'trim' })
export class TrimPipe implements PipeTransform {
    transform(value: any) {
        if (!value) {
            return '';
        }

        return value.trim();
    }
}

{{ someobject.name | trim }}仍然会得到"name abc"而不是"nameabc"

5个回答

18

1
我会使用 /\s*/g 来提高性能,但无论如何还是给你点赞。 - user4676340
感谢您的反馈。我该如何在我的管道中使用它/编辑我的管道? - Babulaas
1
就像你现在所做的一样,在从你的“transform”函数返回时,只需使用“replace”而不是“trim”。 - Jan B.
1
谢谢,我在看到这个之前已经修复了。非常感谢。 - Babulaas

3

在 SO 上,仅提供链接的答案并不理想。它们可能会失效和腐烂。请在您的帖子中包含相关信息。 - isherwood

2
import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'removeWhiteSpace'
})
export class RemoveWhiteSpacePipe implements PipeTransform {

  transform(value: any): any {
    if (value === undefined)
      return 'undefined';
    return value.replace(/\s/g, "");
  }

}

你应该解释为什么原始方案不起作用,以及你的方案如何起作用。 - Sébastien Temprado
这是@Nirav解决方案的实现:https://stackblitz.com/edit/angular-pipe-remove-spaces - Nesar

0

替换字符串中所有的空格

let spaceReg = new RegExp(" ",'g');

let str = "name abc"

str = str.replace(spaceReg,"");


-11
在我的情况下,这是不好的:
<div>
  {{ someobject.name }}
</div>

解决方案:

<div>{{ someobject.name}}</div>

=S


4
似乎这与问题无关。他们想要删除变量结果中的空格,而不是避免其周围的空格... - dovetalk
2
这不是相关的答案。请理解问题后再回答。 - Aravindhan R

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接