🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

593閲覧

pythonの文字列操作でre.findallがうまくつかえない

Sonono

総合スコア85

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2019/11/11 06:59

text = "信州大福岡教育大熊本県立大白百合女 子東京医療大 帝塚山大)高陽東(多摩美術大2)西条農(岐阜大 琉球大3酪農学園大2中央学院大帝京科学大日本体育大)庄原 格致(京都エ繊大長崎県立大千葉科学大中央学院大大阪学院大 森ノ宮医療熊本学園大九州保福大3)世羅(駿河台大玉川大2 文京学院大大阪学院大4阪南大2奈良大)総合技術(名古屋学 芸)大門(東京芸術大兵庫教育大琉球大愛媛医技大名桜大国士 舘大3拓殖大多摩美術大2東京家政大東京工科大文京学院大, 武蔵野美術2明治学院大金沢工業大4諏訪東理大 愛知学院大2 槁山女学園2大同大4長浜バイオ8京都文教大 追手門学院2 阪南大5桃山学院大4大手前大4甲南女子大2兵庫医療大宮 崎産経大)忠海(関西福科大3)戸手(東洋学園大)西(名古屋外語) 日彰館(久留米工業)沼田(尚美学園大2成蹊大 拓殖大 東京未来 大 常葉大6東海学園大 大阪産業大5甲南女子大8園田女子大 4奈良大2)廿日市(埼玉大滋賀大奈良教育大鳴門教育大福岡 教育大佐賀大金沢美工大2愛知県立大高・!県立大2長崎県立 大名桜大3北海道文教酪農学園大和洋女子大2國學院大2武 蔵野大明治学院大 東洋英和女フェリス女2中京大4名古屋外 語5京都学園大2大阪経法大16大阪産業大3神戸親和女3西 南女学院立命アジア2)廿日市西(酪農学園大 京都学園大 梅光学 院大2九州産業大3西日本工業九州保福大)広(北見工業大茨 城大滋賀大宮崎大愛媛医技大大分看護大2城西大3女子美術 大東京電機大2大阪経法大18甲南女子大九州産業大福岡工業 大)広島(北海道大東北大北海道教育室蘭工業大山形大防衛医 科大 東京医歯大2東京外国語2東京学芸大4東京芸術大 横浜 国立大3金沢大京都エ繊大2大阪教育大4奈良女子大2佐賀 大 宮崎大2鹿児島大2茨城医療大 横浜市立大2香川保医大九 州歯科大自治医科大文教大川村女子大2桜美林大3大妻女子 大 学習院大2杏林大2上智大 昭和大 昭和妥子夫2多摩美術夫 東京音楽大日本女?・大2星薬科大 明星大フェリス女 常葉大3 愛知学院大中京大京都薬科大大阪薬科大3神戸薬科大宝塚医 療大西南学院大)広島井口(宮城教育大千葉大2東京海洋大東 京学芸大信州大愛知教育大三重大大阪教育大2和歌山大福岡 教育大宮崎大3鹿児島大2鹿屋体育大国際教養大愛知県立大 京都芸術大京都府立大大阪市立大福岡県立大宮崎公立大名桜 大淑徳大千葉工業大17中央学院大2桜美林大共立女子大杏 林大国士舘大3上智大昭和女子大2清泉女子大玉川大多摩美 需大2帝京平成大 東京工芸大2負京女子大2竄蔵野大 麻希大 神奈川工科関東学院大フェリス女横浜薬科大岐阜聖徳大棉山 女学園豊田工業大名城大2大阪薬科大大和大2福岡工業大) 広島観音(国際教養大尚美学園大2神田外語大 国士舘大2日本 体育大2明治学院大中京大京都文教大3大阪産業大久留米工 業九州保福大)広島工•県立(亜細亜大日本体育大2大阪産業大 九州国際大)広島国泰寺(名古屋大2室蘭工業大秋田大茨城大 宇都宮大2電気通信大2東京外国語東京海洋大2東京学芸大4 東京農工大2防衛大5横浜国立大2信州大滋賀大京都教育大 京都エ繊大奈良女子大福岡教育大5宮崎大鹿児島大4琉球大 国際教養大首都大東京2山梨県立大静岡文芸大滋賀県立大大 阪市立大3神戸市看護奈良県立大九州歯科大福岡県立大長崎 県立大2熊本県立大東北医薬大尚美学園大杏林大工学院大成 城大多摩美術大東京造形大東京電機大東京都市大日本女子大 2神奈川工科横浜薬科大金沢工業大7愛知学院大5名城大長 浜バイオ2京都薬科大大阪樟蔭女大阪薬科大神戸親和女神戸 薬科大西南学院大2)広島商•県立(千葉商科大 大阪樟蔭女)広島 商•市立(千葉商科大2長崎外国語)広島皆実(名古屋大秋田大電 気通信大愛知教育大大阪教育大和歌山大福岡教育大5鹿児島 大愛知県立大大阪市立大九州歯科大福岡県立大2学習院大東 京女子大日本体育大日本女体育2武蔵野美術4立正大金沢医 科大名古屋外語 大阪経法大 四天王寺大3阪南大7桃山学院大 2久留米大西南学院大4九州看福大)福山(北海道大名古屋大 2気象夫キ葉夫お秦の水女岐阜大奈良女手夫2和歌山大釧 路公立大横浜市立大静岡県立大名古屋市立大阪市立大2福岡 県立大東京家政大2東京薬科大日本体育大武蔵野美術名古屋 経済2日本福祉大京都薬科大3大阪産業大2阪南大7神戸薬 科大九州産業大3西日本工業九州看福大)福山葦陽(宮崎大駒 沢女子大中京大名古屋学院日本福祉大名城大3京都ノ女子大 阪学院大5大阪経法大14桃山学院大8大手前大 奈良大)福山 ェ(愛知工業大)福山商(花園大)福山誠之館(北海道大 名古屋大 埼玉大千葉大東京学芸大防衛大横浜国立大新潟大豊橋技科大 滋賀医科大兵庫教育大奈良女子大福岡教育大2佐賀大熊本大 鹿児島大3高崎経済大2神奈川保福静岡県立大京都府立大大 阪市立大愛媛医技大福岡県立大福岡女子大長崎県立大熊本県 立大2札幌学院大国際医福大明海大大妻女子大國學院大国士 舘大 東京工科大2東京都市大14日本体育大3武蔵野大金沢医 科大中京太名城大4長浜バイオ大阪学院大 大阪薬科大2神戸 薬科大熊本学園大2)福山明王台(山形大静岡文芸大長崎県立大 東京工科大京都光華女2京都ノ妥子趁園大头阪青山夫夫阪学 院大2大阪経法大4阪南大12大手前大2甲南女子大 神戸松蔭 女 帝塚山大3奈良大2久留米工業2)府中(埼玉大 京都エ繊大 佐賀大奈良県立大3高知県立大2福岡県立大福岡女子大熊本 県立大獨協大駒沢女子大2帝京科学大神奈川工科3鎌倉女子大中京大3名古屋外語6京都ノ女子2京都文教大追手門学院 大阪経法大関西福科大帝塚山大3)舟入(北海道大帯広畜産大 埼玉大千葉大東京学芸大3東京工業大東京農工大一橋大防衛 大2横浜国立大4信州大兵庫教育大奈良教育大和歌山大福岡 .教育大2佐賀大熊本大2宮崎大3鹿屋体育大国際教養大 群馬 女子大2石川県立大名古屋市立京都芸術大京都医科大大阪市 立大2愛媛医技大高知県立大国際医福大2獨協大2神田外語 大大妻女子大学習院大上智大女子美術大玉川大多摩美術大 東京女子大東京都市大武蔵野美術明治学院大3麻布大2東洋 英和女フェリス女2常葉大6金城学院大名古屋外語5南山大 3京都橘大大阪経法大8大阪産業大兵庫医療大畿央大5西南 学院大中村学園大立命アジア2)松永(東海学園大大阪青山大) 美鈴力ヾ丘(九州歯科大 尚美学園大 神田外語大3愛知大 南山大2 京都橘大2大阪産業大関西福科大久留米工業立命アジア)御調 (首都大東京高知県立大熊本県立大)三原(北海道大三重大滋賀 大公立未来大首都大東京岐阜薬科大高知県立大福岡県立大福 岡女子大駒沢女子大関東学院大金沢工業大愛知大中京大藤田 保健头:視甬大8大手前大九州産業大3西南牟院大2)三原東 (神戸医福大2)三次(北海道大 北見工業大2室蘭工業大 滋賀大 2福岡教育大佐賀大高崎経済大首都大東京福知山公立高知県 立大帝京平成大東京女子大東京造形大3明治学院大新潟医福 大京都学園大京都光華女2大阪学院大四天王寺大甲南女子大 奈良大2九州産業大3西南学院大3)基町(北海道大2東北大2 名古屋大2千葉大東京外国語東京学芸大2 一橋大防衛大山梨 大 岐阜大名古屋工業2滋賀大 京都エ繊大2奈良教育大2奈良 女子大鳴門教育大福岡教育大3熊本大2宮崎大鹿児島大4横 浜市立大福井県立大名古屋市立2京都芸術大大阪市立大2福 岡県立大酪農学園大工学院大2多摩美術大2津田塾大東京工 芸大 東京女子大2東京電機大東京都市大2日本女子大2武蔵 野美術5麻布大2金沢工業大4豊田工業大南山大2京都光華 女京都薬科大大阪薬科大3甲南女子大神戸薬科大西南学院大 3)安西(平成国際大国士舘大6日本体育大関西福科大)安古市 (東北大千葉大東京海洋大2東京農工大三重大滋賀大京都工 繊大大阪教育大2和歌山大福岡教育大3宮崎大2琉球大2国 際教養大千葉保医大愛知県立大2滋賀県立大九州歯科大宮崎 看護大上智大多摩美術大2東京医療大2社会事業大立正大南 山大京都医療大兵庫医療大九州産業大西南学院大4)油木(京 都学園大)吉田(北見工業大福岡教育大中部大九州国際大"

という文字列について、大学名ごとに分割し、リストにしたいです。数字はのちのち必要になりますが、とりあえず大学名ごとに分割して数字はその後分割するという手法を考えています。そこで、以下のようなコードを書きましたが、re.findallがうまくいきません。たとえば、「京都光華女」という大学名は「大」がつかないので前もってre.findallするのですが、リストに「2京都光華女京都薬科大」というものが入ってきていて、分割されていません。どう書けばいいのでしょうか。

#前処理 text.strip() text = text.replace('犬', '大') text = text.replace('夫', '大') text = text.replace('匕海道关', '北海道大') text = text.replace('・', '') text = text.replace('[', '') text = text.replace(']', '') text = re.sub(r').+?(', "", text) text = re.sub(r').+?(', "", text) text = re.findall(r'京都光華女|神戸女学院|長崎外語|長崎外国語|神奈川工科|名古屋工業|四條啜学園|聖マリ医科|北海道医療|名古屋市立|北九州市立|立命アジア|東京外語|東京外国語|名古屋外語|大阪大|...*?大', text) print(text)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LouiS0616

2019/11/11 10:04

ところどころに見られる数字は必要なデータなのでしょうか?
Sonono

2019/11/11 10:20

大学合格人数のデータなのですが、一人のときは数字が省いてあり、複数人のときは合格数が書いてあるので、必要になります。数字が邪魔をしているようだったので、ちょうどいま「text = re.findall(r'京都光華女\d*|神戸女学院\d*|長崎外語\d*|長崎外国語\d*|神奈川工科\d*|名古屋工業\d*|四條啜学園\d*|聖マリ医科\d*|北海道医療\d*|名古屋市立\d*|北九州市立\d*|立命アジア\d*|東京外語\d*|東京外国語\d*|名古屋外語\d*|大阪大\d*|...*?大\d*', text)」 というふうにしたところ、うまくいきました!(みにくくてすみません...)
LouiS0616

2019/11/11 10:37

A大\d*|B大\d* と書き連ねていくより、(A大|B大)\d* とした方が簡潔そうです。
Sonono

2019/11/11 10:50

短くかけそう、とは思っていたのですが正規表現における()がよくわからずトライしていませんでした笑 ありがとうございます!!!
guest

回答1

0

自己解決

text = re.findall(r'京都光華女\d*|神戸女学院\d*|長崎外語\d*|長崎外国語\d*|神奈川工科\d*|名古屋工業\d*|四條啜学園\d*|聖マリ医科\d*|北海道医療\d*|名古屋市立\d*|北九州市立\d*|立命アジア\d*|東京外語\d*|東京外国語\d*|名古屋外語\d*|大阪大\d*|...*?大\d*', text)

で解決できました。

投稿2019/11/11 10:51

Sonono

総合スコア85

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問