从字符串中删除邮政编码 (Flutter/Dart)

Posted

技术标签:

【中文标题】从字符串中删除邮政编码 (Flutter/Dart)【英文标题】:Remove postalcode from string (Flutter/Dart) 【发布时间】:2021-03-07 04:12:26 【问题描述】:

也许这是一个愚蠢的问题,但是如何使用 regExp 从字符串中删除数字和“-”符号?

我有字符串:“4502-42 something”,我只想拥有“something”。

编辑:

字符串是不同的,例如: “2232-233 东西”, “别的”, “223-4SomethingElseElse”等。

我们可以说我想删除前面的所有内容,包括空格。

【问题讨论】:

您是否在问如何删除所有内容,包括(第一个)空格? 问题是有些字符串很好,有些包含代码和空格(例如:“1723-243 SomeCity”和“AnotherCity”)所以,是的,我们可以这么说。删除所有包括第一个空格 【参考方案1】:

@julemand101 - 非常感谢 ;)

我稍微改动了一下,我的解决方案是:

 static String removeCode(String str) =>
      str.replaceFirst(RegExp(r'\d*-\d* '), '');

我只是在我想格式化的字符串上调用这个方法,它看起来像这样:

model.city.isSafe()
      ? Formatter.removeCode(model.city)
      : "No info",

*isSafe 是一种检查不是空/空字符串等的方法。

【讨论】:

【参考方案2】:

您可以使用 split 方法,然后访问空格后的字符串。

  var string = "Hello world!";
  List<String> strings = string.split(" ");
  var res = strings.where((element) => element != strings.first);

input : Hello world!

output : world!

【讨论】:

如果“某物”中没有空间,则此方法有效,但如果有,则没有问题!使用这个:***.com/questions/56443354/…【参考方案3】:

这样的事情应该可以解决问题。这也比仅仅说“跳过所有内容到第一个空格”更安全,因为城市名称可以包含空格。

void main() 
  final input = [
    "2232-233 Something",
    "SomethingElse",
    "223-4 SomethingElseElse",
    "223-4 SomethingElseElse Else"
  ];

  input
      .map((string) => string.replaceFirst(RegExp(r'\d*-\d* '), ''))
      .forEach(print);
  // Something
  // SomethingElse
  // SomethingElseElse
  // SomethingElseElse Else

【讨论】:

以上是关于从字符串中删除邮政编码 (Flutter/Dart)的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 从数据库中检索图像并在 Flutter 项目中使用(在 Dart 中)

如何在 Flutter/Dart 中使用 url 编码的标头和正文发出 HTTP POST 请求

Flutter(Dart) 无法从不可修改列表中删除

Flutter/Dart 如何将索引从 Listview.builder 传递到项目小部件

如何在简单的flutter-dart代码中使用对象snapshot.data实现空安全?

Flutter/Dart:读取文本文件以奇怪的字符为前缀