如何将大写字母改为小写字母和空格为下划线

时间:2017-05-25 15:27:44

标签: python python-2.7 text replace lowercase

我想将变量中的大写字符串字符更改为小写,并用" _"替换空格。我知道我可以使用' if'所有实例的声明,但这将花费太长时间。它是将用户的输入保存到文件名,即

user_selection = 'Barracuda Limited'  # what I have
save_name == 'barracuda_limited'       # what I want

注意:我已经阅读了有关如何发布和尽我所能的页面,但我刚刚开始学习编码,并且在尝试构建问题时遇到了麻烦。

2 个答案:

答案 0 :(得分:3)

这很简单,使用str.lower()str.replace()方法:

    library(forecast)
    library(tsoutliers)
    library(lubridate)
    library(dplyr)
    library(ggplot2)

    ActualDemand <- c(1000, 250, 500, 3000)
    STRING_DATE <- c("05/13/2017","05/06/2017", "5/20/2017", "05/27/2017")

    dataset <- data.frame(ActualDemand, STRING_DATE)

    #convert from string to date
    dataset$STRING_DATE = lubridate::mdy(dataset$STRING_DATE)
    dataRowCount <- nrow(dataset)

    #find start date
    startDate <- NULL

    for (i in 1:dataRowCount) {
      if (i == 1) {
        startDate <- dataset[i, 2]
        next
      }

      compareDate <- dataset[i,2]

      if (compareDate < startDate) {
        startDate <- compareDate
      } else {
        next
      }
    }

    #transformed set
    datasetSorted <- dataset[order(dataset$STRING_DATE),]

    #build time series, run outlier detection
    ts <- ts(datasetSorted$ActualDemand, frequency = 52, start = startDate)
    series.outliers <- tso(ts)
    plot(series.outliers)  

答案 1 :(得分:1)

为了获得您想要的数据,您可以执行以下操作:

user_selection = 'Barracuda Limited':
save_name = "_".join(k.lower() for k in user_selection.split())
# save_name is: 'barracuda_limited'