1

次の形式の度分秒の文字列値を含むテーブルにフィールドがあります。

179-53-32

すべてのダッシュを置き換えて、これを次の適切な形式にフォーマットします。

179° 53' 32"

基本的に、ダッシュを正しい文字 (度、分、秒) に置き換え、そこにスペースを入れます。インデックスごとに置き換えを考えていましたが、うまくいかないと思います:

s.replace('-', '° ')[0]
s.replace('-', '\' ')[1]

私がやりたいことを達成する方法はありますか?最初に文字列を列挙してから置き換えますか?

ありがとう、マイク

4

3 に答える 3

5

これはおそらくそれを行うでしょう:

"%s° %s' %s\"" % s.split('-')

s.splitタプル呼び出しで呼び出しをラップする必要がある場合があります。そうしないと、エラーが発生していました。したがって、次のようになります。

"%s° %s' %s\"" % tuple(s.split('-'))
于 2012-09-06T17:30:21.320 に答える
1
'179-53-32'.replace('-', '°', 1).replace('-', "'", 1)+ '"'
于 2012-09-06T17:30:14.740 に答える
0

正規表現でグループを使用できます。それらは非常に便利です。

m = re.match(r"(?P<first>\d+)-(?P<sec>\d+)-(?P<third>\d+)", "179-53-32")  
"%s° %s' %s\"" % (m.group('first'), m.group('sec'), m.group('third'))
于 2012-09-06T20:00:16.003 に答える