-1

如何编写一个以 defbeforePeriod(s): 开头的 Python 函数,它返回字符串 s 中第一个句点之前的子字符串,即参数。该字符串包含一个句点。所以如果 s 是“abc2.3ty”,我的函数将返回“abc2”

4

3 回答 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 回答