#dart
Вопрос:
Я принимаю значения из текстового поля и хочу удалить несколько пробелов из этих значений и заменить их одним как я могу добиться этого в dart до сих пор я пробовал,
' '.join(mystring.split())
но это, похоже, не работает так, как в python, он вызывает соединение, которое не может быть выполнено со строкой в dart, Так как я могу это сделать в dart…
Ответ №1:
Самым маленьким и простым решением было бы:
final _whitespaceRE = RegExp(r"s ");
String cleanupWhitespace(String input) =>
input.replaceAll(_whitespaceRE, " ");
Вы также можете использовать split
/ join
:
String cleanupWhitespace(String input) =>
input.split(_whitespaceRE).join(" ");
Это, вероятно, немного менее эффективно, но если вы не делаете это все время, это не имеет значения.
Если производительность действительно важна, и вы не хотите заменять одно пространство другим, то вы можете изменить регулярное выражение на:
final whitespaceRE = RegExp(r"(?! )s | s ");
Очень маловероятно, что это имеет значение только для обработки пользовательского ввода.
Ответ №2:
Что-то вроде:
final newstring = yourstring.replaceAllMapped(RegExp(r'bs b'), (match) {
return '"${match.group(0)}"';
});
или
final newstring = yourstring.replaceAllMapped(new RegExp(r'/s /'), (match) {
return ' ';
});
Ответ №3:
def clean_words(Complex_words):
List_words =Complex_words.split()
New_word = ""
for i in List_words:
New_word = New_word " " i
return New_word
Комментарии:
1. это не решение для дротиков. Это Питон.