Karakter string terpisah tanpa fungsi python [duplikat]

Dec 02 2020

Dapatkah Anda memisahkan "+ 2x-5y + 8 + 2y" ini (tidak ada spasi di antara karakter) seperti [+ 2x, -5y, + 8, + 2y] dengan python? Bagaimana?

Jawaban

schetefan24 Dec 02 2020 at 22:34

jika Anda mengetahui pola masukan untuk semua yang mungkin masuk, lihat ekspresi reguler

Dalam kasus Anda, solusinya bisa seperti

import re
a = "+2x-5y+8+2y"
print(re.findall(r"[+-]\d[xy]?", a))

re.findall(expression, input)membutuhkan ekspresi reguler dan argumen yang harus diurai. Dalam solusi di atas, pola [+-]\d[xy]?terdiri dari

  • [+-] baik simbol + atau -
  • \ddigit apa pun, jika Anda mengharapkan beberapa digit gunakan \d+sebagai gantinya (+ artinya di sini "setidaknya satu pengulangan")
  • [xy]?salah satu karakter x dan y, tetapi mungkin hilang. Jika Anda mengharapkan huruf lain juga, tambahkan di dalam tanda kurung ini