При предварительной обработке данных я получу одни и те же числовые характеристики в разных форматах. Например:
1x4 wire 1 x 4 wire
1-1/2x1 wire 1-1/2 x 1 wire
11/2x1 wire 1-1/2 x 1 wire
Мне нужно стандартизировать разные форматы до одного формата.
Один из подходов, который мы подумали, - это удалить x, -, / и пробел и объединить все. то есть:
1x4 wire 1 x 4 wire 14 wire
1-1/2x1 wire 1-1/2 x 1 wire 1121 wire
11/2x1 wire 1-1/2 x 1 wire 1121 wire
Может ли кто-нибудь сказать, как реализовать описанный выше подход в Python?
Я попробовал следующий код, чтобы он соответствовал желаемому шаблону:
import re
regex = re.compile('(\d+.*?)\s?')
Я не понимаю, как использовать его вывод на re.sub.





Вот два способа использования re.sub для удаления любого символа x, - или / с пробелами, расположенными непосредственно перед и сразу после него, если он предшествует числовому символу и следует за ним:
import re
myText = """
1-1/2x1 wire cross box
1x4 wire 1 x 4 wire 14 wire
1-1/2x1 wire 1-1/2 x 1 wire 1121 wire
11/2x1 wire 1-1/2 x 1 wire 1121 wire
"""
# First way
myNewText1 = re.sub(r'(?<=([0-9])) *[x\-/] *(?=([0-9]))', '', myText)
print(myNewText1)
# Second way (by defining first a regex pattern)
myPattern = re.compile(r'(?<=([0-9])) *[x\-/] *(?=([0-9]))')
myNewText2 = myPattern.sub('', myText)
print(myNewText2)
Оба печатают следующий результат:
1121 wire cross box
14 wire 14 wire 14 wire
1121 wire 1121 wire 1121 wire
1121 wire 1121 wire 1121 wire
Большое вам спасибо за ваш ответ. если мой ввод - f = "1-1/2x1 wire cross box", то я получу myNewText1 = re.sub(r' *[x\-/] *', '', f)print(myNewText1)1121 wire cross bo. мне нужно удалить только тогда, когда это с цифрами. `
1. Изучите Python. 2. Напишите код на Python.