訓練家的佈弱格-Patch1.2

The BLOG of trainer



編輯日期:2010-06-23 16:01

類型:程式設計
作者:羽山
文章時間:2010-06-23 16:01:48
瀏覽人數:3645人
標題: 字首大寫設計
網址:https://3wa.tw/blog/blog.php?id=1061
內容:
 

(範例) input:  SMITH, A.J. and OTHER, A.N. and SCROOGE, E.

       output: Smith, A.J. and Other, A.N. and Scrooge, E.

 

使用 SED 解決

 

 echo "SMITH, A.J. and OTHER, A.N. and SCROOGE, E." |sed -e 's/\(\([A-Z][A-Z]\)\+\([,|.|\ ]\)\)/\L\1/g'

 

或 Rickz 提出的

echo "SMITH, A.J. and OTHER, A.N. and SCROOGE, E." |sed 's/\([A-Z]\)\([A-Z]*\)/\1\L\2/g'

 

或 PHP 版本的

 

#!/usr/bin/php
<?php
    $argv[1];
    $lens=strlen($argv[1]);
    for($i=$lens-1;$i>=0;$i--)
    {
        if($argv[1][$i]>='A'&&$argv[1][$i]<='Z')
        {
            if($argv[1][$i-1]>='A'&&$argv[1][$i-1]<='Z')
            {
                $argv[1][$i]=strtolower($argv[1][$i]);
            }
        }
    }
    echo $argv[1];
?>

 

或 C 版本的

 

#include <stdio.h>
#include <string.h>
void main(int argc,char* argv[])
{   
    int i;
    int lens=strlen(argv[1]);
    for(i=lens-1;i>=0;i--)
    {
        if(argv[1][i]>='A'&&argv[1][i]<='Z')
        {
            if(argv[1][i-1]>='A'&&argv[1][i-1]<='Z')
            {
                argv[1][i]=argv[1][i]+32;
            }
        }
    }
    printf("%s",argv[1]);   
}

 

或 python 版本的

 

#!/usr/bin/python
#  -*-  coding:  utf-8  -*-
import re,sys
def titlecase(s):
        return re.sub(r"([A-Z])+('[A-Z]+)?",
                      lambda mo: mo.group(0)[0].upper() +
                                  mo.group(0)[1:].lower(),
                      s)

data = sys.argv[1]
print titlecase(data)

 

以上都可以達成

 

首頁  上十頁  上一頁  1 下一頁    最末頁 (總共有...1頁)

第 1 頁

有話要說  看留言 【1】
其他分類
當月訓練
(2010-06-23)
【程式設計】字首大寫設計

最新訓練
(2024-03-09)
【HONDA CBR1000RR】CBR1000RR 原廠管

(2024-02-24)
【NSR 150】NSR150 整理後卡鉗

(2024-02-14)
【機車綜合相關】買了牧田的打氣機與心得

(2024-02-10)
【NSR 150】NSR150 整流器接頭重作

(2024-02-09)
【機車綜合相關】鋰電、鋰鐵電池、電源充電器

(2024-01-07)
【NSR 150】NSR150 貨架耳朵斷裂維修

(2024-01-06)
【KTM 390】KTM Duke390 維修發電問題 電盤內仁

(2023-12-29)
【NSR 150】NSR150 改可調拉桿

(2023-11-20)
【遊戲 / 生活】防盜洗手罐

(2023-11-17)
【KTM 390】KTM Duke390 製作鋰鐵電池