从字符串中删除邮政编码 (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 如何将索引从 Listview.builder 传递到项目小部件