Как разделить строку на отдельные слова, игнорируя пробелы внутри кавычек?

Как разделить строку, содержащую различные поля, включая строку с датой и временем, используя регулярное выражение, чтобы получить список значений каждого поля в формате массива?
  • 22 февраля 2024 г. 10:48
Ответы на вопрос 3
1. Для разделения строки на отдельные слова, игнорируя пробелы внутри кавычек, можно использовать следующий код на Python:

```python
import re

def split_string_with_quotes(input_string):
    return re.findall(r'\"(.+?)\"|\S+', input_string)

input_string = 'Hello "world of programming"! This is a "test example"'
words = split_string_with_quotes(input_string)
print(words)
```

Этот код разделит строку `input_string` на отдельные слова, игнорируя пробелы внутри кавычек, и вернет список слов `words`.

2. Чтобы разделить строку, содержащую различные поля, включая строку с датой и временем, можно воспользоваться регулярным выражением для соответствующего формата данных. Например, если строки имеют формат "field1;field2;date time", можно воспользоваться следующим кодом на Python:

```python
import re

def split_fields(input_string):
    return re.split(r'\s?;\s?', input_string)

input_string = 'Value1;Value2;2022-12-31 23:59:59'
fields = split_fields(input_string)
print(fields)
```

Этот код разделит строку `input_string` на отдельные поля, используя разделитель `;` и вернет список значений каждого поля в формате массива `fields`.
str.match(/\w+=(".*?"|\S*)/g)
let source = 'ЯблокоАпельсинГрушаWatermelon'; 
console.log(source.split(/(?=[А-ЯA-Z])/));

[
"Яблоко",
"Апельсин",
"Груша",
"Watermelon"
]
Похожие вопросы