訓練家的佈弱格-Patch1.2

The BLOG of trainer



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

類型:程式設計
作者:羽山
文章時間:2010-06-23 16:01:48
瀏覽人數:4030人
標題: 字首大寫設計
網址:http://sunnyriver.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-10-15)
【KTM 390】KTM RC390 側柱增加 1.5cm

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

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

(2024-10-04)
【FZR 150】FZR150 起動電流切斷控制器(起動電源控制器) 3KW-H1950-00 小改

(2024-10-04)
【FZR 150】Kymco G5 整流器改 FZR 四線式

(2024-10-03)
【NSR 150】NSR150 中釘補胎

(2024-10-02)
【FZR 150】大閔 FZR 蛋蛋號維修 Part2

(2024-09-28)
【KTM 390】KTM Duke 390 側柱加高 1 公分

(2024-09-23)
【FZR 150】大閔 FZR 蛋蛋號維修

(2024-09-22)
【焊接】大閔 FZR 整流罩支架焊接鎖點