質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

3回答

1567閲覧

Python 2.7 最初と最後の{と}を取り除きたい。

K_T_T_K

総合スコア231

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2015/08/11 06:16

文字列操作がうまく出来ずにおります。

Dic = "{'http://abc.com/catalina': {'cat': u'Cock', 'locality': u'Tokyo', 'lon': '45', 'restname': u'talina', 'lat': '4', 'hoge': u'naaa.com', 'tell': u'(232) 541-0123}}" Dic.lstrip('{') Dic.rstrip('}') print Dic

以下の形にしたいのですがうまくいきません。
宜しくお願いいたします。

'http://abc.com/catalina': {'cat': u'Cock', 'locality': u'Tokyo', 'lon': '45', 'restname': u'talina', 'lat': '4', 'hoge': u'naaa.com', 'tell': u'(232) 541-0123}

また、Dicの中身は毎回変わるため、中身が変わっても先頭と末尾の{}を削除したいです。

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

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

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

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

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

guest

回答3

0

一つ目の間違いはlstriprstripはDicの値を変更しません。結果を戻り値で返します。
二つ目の間違いはlstriprstripは指定した文字列全てを先頭(または末尾)から削除します。このため1文字分だけ削除したい場合には使用できません。

lang

1Dic = "{'http://abc.com/catalina': {'cat': u'Cock', 'locality': u'Tokyo', 'lon': '45', 'restname': u'talina', 'lat': '4', 'hoge': u'naaa.com', 'tell': u'(232) 541-0123}}" 2print Dic.lstrip('{') 3# 'http://abc.com/catalina': {'cat': u'Cock', 'locality': u'Tokyo', 'lon': '45', 'restname': u'talina', 'lat': '4', 'hoge': u'naaa.com', 'tell': u'(232) 541-0123}} 4print Dic.rstrip('}') 5# {'http://abc.com/catalina': {'cat': u'Cock', 'locality': u'Tokyo', 'lon': '45', 'restname': u'talina', 'lat': '4', 'hoge': u'naaa.com', 'tell': u'(232) 541-0123

{}が必ず先頭、末尾に存在するのであれば、文字列の長さを指定することで抽出できます。

lang

1Dic = "{'http://abc.com/catalina': {'cat': u'Cock', 'locality': u'Tokyo', 'lon': '45', 'restname': u'talina', 'lat': '4', 'hoge': u'naaa.com', 'tell': u'(232) 541-0123}}" 2# str["開始位置":"終了位置"] 3print Dic[1:len(Dic)-1]

投稿2015/08/11 06:37

sho_cs

総合スコア3541

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

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

K_T_T_K

2015/08/11 06:47

sho_cs様回答ありがとうございます。 > 一つ目の間違いはlstrip、rstripはDicの値を変更しません。結果を戻り値で返します。 二つ目の間違いはlstrip、rstripは指定した文字列全てを先頭(または末尾)から削除します。このため1文字分だけ削除したい場合には使用できません。 なるほどです。 ありがとうございます。 print Dic[1:len(Dic)-1] で実現したいことが出来ました。 sho_cs様のにもベストアンサーしたいです。 2人にベストアンサーできないですよね? 2以上出来たらベストアンサーじゃないですね。。 sho_cs様の回答で記述しようと思います。 ありがとうございます!!
guest

0

ベストアンサー

文字列操作ですよね。
だったら dic[1:-1] で取れますよ。

python

1dic = "{'http://abc.com/catalina': {'cat': u'Cock', 'locality': u'Tokyo', 'lon': '45', 'restname': u'talina', 'lat': '4', 'hoge': u'naaa.com', 'tell': u'(232) 541-0123}}" 2print dic[1:-1]

投稿2015/08/11 06:28

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

K_T_T_K

2015/08/11 06:43

回答ありがとうございます。 スライスでできますね。 ベストアンサーです。
guest

0

lstrip rstripはコピーを生成して返すメソッドです。すなわち

python

1dic = "{'http://abc.com/catalina': {'cat': u'Cock', 'locality': u'Tokyo', 'lon': '45', 'restname': u'talina', 'lat': '4', 'hoge': u'naaa.com', 'tell': u'(232) 541-0123}}" 2dic = dic.lstrip('{') 3dic = dic.rstrip('}') 4print dic

というように変数を受ける必要があります。

投稿2015/08/11 06:23

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

K_T_T_K

2015/08/11 06:26

回答ありがとうございます。 先頭の{は取り除けました。 ただ、 末尾の}は1つだけ取り除きたいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問