如何将列表中每个单词的第一个字母从大写转换为小写?

2024-05-17 09:54:50 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将下面每个字母的第一个字母从大写转换为小写?你知道吗

例如SentMessage会变成sentMessageNotAttemptedCreditLimitReached会变成notAttemptedCreditLimitReached。。。等等

下面的单词列表。它们只是在一个文本文件中。你知道吗

SentMessage
DeliverySucceeded
DeliveryFailed
DeliveryTimedOut
NotAttemptedCreditLimitReached
NotAttemptedChargingFailure
SubscriptionFailed
SentReportSMDeliveryStatus
FailedToSendReportSMDeliveryStatus
ReportSMSucceeded
ReportSMFailed

一开始是考虑用notepadd++来实现它,但对bash/python的其他建议持开放态度。。。等等


EDIT1-解决方案

$ cat testw
SentMessage
DeliverySucceeded
DeliveryFailed
DeliveryTimedOut
NotAttemptedCreditLimitReached
NotAttemptedChargingFailure
SubscriptionFailed
SentReportSMDeliveryStatus
FailedToSendReportSMDeliveryStatus
ReportSMSucceeded
ReportSMFailed
$ sed -i 's/[A-Z]/\L&/' testw
$ cat testw
sentMessage
deliverySucceeded
deliveryFailed
deliveryTimedOut
notAttemptedCreditLimitReached
notAttemptedChargingFailure
subscriptionFailed
sentReportSMDeliveryStatus
failedToSendReportSMDeliveryStatus
reportSMSucceeded
reportSMFailed

Tags: 字母sentmessagetestwdeliverysucceededdeliveryfaileddeliverytimedoutfailedtosendreportsmdeliverystatusreportsmsucceeded
1条回答
网友
1楼 · 发布于 2024-05-17 09:54:50

如果您有gnu sed,则使用:

sed -i 's/[A-Z]/\L&/' file
  • [A-Z]将匹配第一个大写字母
  • &是模式匹配字符串的反向引用(在本例中是单个大写字母)
  • \L将返回的引用转换为小写

相关问题 更多 >