defbeforePeriod(s)で始まるPython関数を作成するにはどうすればよいですか。これは、パラメーターである文字列sの最初のピリオドの前にある部分文字列を返します。文字列にはピリオドが含まれています。したがって、sが「abc2.3ty」の場合、私の関数は「abc2」を返します。
3 に答える
1
import re
def beforePeriod(s):
m = re.match('(.*)\..*',s)
if m:
return m.groups()[0]
また
def beforePeriod(s):
return s[s:s.index('.')]
また
def beforePeriod(s):
return s.split('.')[0]
于 2012-12-19T18:35:31.410 に答える
0
docs.python.org のセクション5.6.1を見ると、関数が表示される文字列メソッドstr.find()
:
str.find(sub[, start[, end]])
サブストリング sub が見つかった文字列内の最小インデックスを返します ... find() メソッドは、sub の位置を知る必要がある場合にのみ使用してください。
find()
次の例に示すように使用できます。これは、ipython インタープリターのトランスクリプトから抜粋したものです。
In [2]: def defbeforePeriod(s):
...: return s[:s.find('.')]
...:
In [3]: defbeforePeriod('abc2.3ty')
Out[3]: 'abc2'
In [4]: defbeforePeriod('abc2.3ty.zeta')
Out[4]: 'abc2'
于 2012-12-19T18:40:04.147 に答える
-1
ファイル名を操作しようとしている場合はos.path
、特にを参照してくださいos.path.splitext()
。
于 2012-12-19T19:05:04.650 に答える