訓練家的佈弱格-Patch1.2

The BLOG of trainer



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

類型:程式設計
作者:羽山
文章時間:2010-06-23 16:01:48
瀏覽人數:4132人
標題: 字首大寫設計
網址:http://59.126.75.42/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-11-04)
【酷龍 150】酷龍150 換新鏈條 里程:39250km

(2024-10-31)
【機車綜合相關】煞車檢測筆測量電阻範圍

(2024-10-29)
【機車綜合相關】拆胎特工-輪胎拆胎架

(2024-10-25)
【NSR 150】NSR150 更換前煞車油(簡易) 43177km

(2024-10-25)
【網誌】加密文章測試

(2024-10-19)
【本田 MSX-125】MSX-125 更換前輪軸承

(2024-10-18)
【HONDA CBR1000RR】CBR1000RR 側柱維修

(2024-10-15)
【KTM 390】KTM RC390 側柱增加 1.5cm

(2024-10-12)
【NSR 150】NSR150 更換空濾綿 43010km

(2024-10-10)
【NSR 150】NSR150 側柱加高1.5cm