Да, вы можете поменять местами символы, находящиеся слева и справа от знака `-`, а затем удалить сам этот знак. Вот пример выполнения этой задачи на языке Python:
```python
def swap_chars(text):
result = []
i = 0
while i < len(text):
if text[i] == '-':
# Если текущий символ - это '-', меняем местами символы
if i > 0 and i < len(text) - 1: # Проверяем границы
result[-1], text[i + 1] = text[i + 1], result[-1]
i += 1 # Пропустим следующий символ
elif i == 0: # Если '-' в начале строки
i += 1 # Просто пропустим его, так как нет символа слева
elif i == len(text) - 1: # Если '-' в конце строки
i += 1 # Просто пропустим его, так как нет символа справа
else:
result.append(text[i])
i += 1
return ''.join(result).replace('-', '')
# Пример использования
input_text = "abc-d12-34 ef-g"
output_text = swap_chars(input_text)
print(output_text) # Вывод: "acb 21d4 ef "
```
В этом коде:
1. Мы проходим по всем символам строки.
2. Когда встречаем знак `-`, проверяем, есть ли символы слева и справа от него.
3. Если есть, то меняем их местами и удаляем сам знак `-`.
4. В конце собираем оставшиеся символы в строку и возвращаем результат.
Вы можете протестировать этот код с различными входными строками, чтобы убедиться, что он работает правильно.