Dart:
从字符串中移除引号
如何操作:
Dart 提供了使用内置字符串方法来移除字符串中的引号的直接方法,无需第三方库。
示例 1:使用 replaceFirst
和 replaceAll
如果你处理的字符串是以引号开始和结束的,你可以使用 replaceFirst
和 replaceAll
方法来移除它们。
String quotedString = '"Hello, World!"';
String singleQuotedString = '\'Dart 编程\'';
// 移除双引号
String noDoubleQuotes = quotedString.replaceFirst('"', '').replaceAll('"', '');
print(noDoubleQuotes); // 输出:Hello, World!
// 移除单引号
String noSingleQuotes = singleQuotedString.replaceFirst('\'', '').replaceAll('\'', '');
print(noSingleQuotes); // 输出:Dart 编程
示例 2:使用 substring
当你确定引号确实在字符串的最开始和最末尾时,这种方法很有用。
String quotedString = '"Flutter 开发"';
// 在移除前检查是否以引号开始和结束,以避免错误
if (quotedString.startsWith('"') && quotedString.endsWith('"')) {
quotedString = quotedString.substring(1, quotedString.length - 1);
}
print(quotedString); // 输出:Flutter 开发
示例 3:自定义扩展方法
为了更多的可重用性,特别是如果你的项目涉及频繁的引号移除,请考虑在 String
上创建一个自定义扩展。
extension UnquoteString on String {
String unquote() {
var str = this;
if (str.startsWith('"') && str.endsWith('"') || str.startsWith('\'') && str.endsWith('\'')) {
str = str.substring(1, str.length - 1);
}
return str;
}
}
void main() {
String doubleQuoted = '"This is Dart"';
String singleQuoted = '\'This is awesome\'';
print(doubleQuoted.unquote()); // 输出:This is Dart
print(singleQuoted.unquote()); // 输出:This is awesome
}
这些方法应该帮助你在 Dart 中有效地移除字符串中的引号,增强你的数据处理和准备工作流程。