2018年1月19日 星期五

[PowerShell] [Office] 用 Regular Expression 轉換日期格式 (US/GB)

前日上班的車程中,想起同事偶爾會碰到日期格式(美式/英式)的問題。雖然可以在打開Excel,為資料分列(Text to Columns)時做處理,去指定每列資料讀取時的格式。但想到要指示得人人明白卻不太易,能否有個只需簡單一按的小工具,可以做美式/英式間的格式轉換呢?

Office 中的問題,PowerShell 解決。也學到一些Regular Expression(正則表達式)的運用:
$inputfile = "test.csv"

(Get-Content $inputfile) | 
Foreach-Object {$_ -replace "([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})", '$2/$1/$3'} | 
Set-Content '_output.txt'


部份 Regular Expression 的解釋:
字元/符號 範例 說明 成立例子
一般字元 / 含字母 “/” 的字串 25/12
^ ^A 比對字串開始位置AB
$ C$ 比對字串結束位置 ABC
\e\^2避開特殊字元 e^2
[......] B[aeiou]t 比對 [......] 內的任意字元 Bit
Bot

[0-9] [0-9] 比對0到9的任意字元,另有[a-z]和[A-Z]等用法 9
{n} B{2} 比對{n}前的字元n次,n必為正整數 BB
{n,m} [0-9]{2,4} 比對{n,m}前的字元至少n次但最多m次,n,m均為正整數 01
2389

(x) ([0-9]+)/([0-9]+) 比對 x 並將符合的部分存入一個變數 可比對 “123/45” 中的 “123” 、 “45”, 並將這個比對得到的字串設定至變數 \$1 和 \$2







加入給使用者的簡介部份:
$rePattern = '([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})'
Write-Host "This will do date-format conversion for your AA/BB/CCCC into BB/AA/CCCC,"
Write-Host "Output as '_converted.txt'. Enjoy."
Write-Host ""
$fileRaw = Read-Host -Prompt 'Input your filename (same folder, ever with file extension): '
(Get-Content $fileRaw) | Foreach-Object {$_ -replace $rePattern, '$2/$1/$3'} | Set-Content '_convert.txt'


對這類辦公室日常出現的問題,有時太重技術層面去應對了就算的話,也明白就像是諸侯舞庶人之劍的感覺。 而且,這個日期格式的問題本來已有專案去處理和做了改變,好處是應該可以更完善的解決問題。但世上總有意外或突然的需要,再啟動一個項目的形式,過程往往會快費較長時間,而小修小補就是quick-and-dirty。

再者,參考使用者自己也會用的方法,就好像社區提案的概念,這些方案可能更切合用家的需要。如果能讓人人都有能力和空餘可以做些小創新、小改變,應該對人對己都是好處吧。

2018年1月16日 星期二

[Web] 為網站準備的 雲端主機 (Digital Ocean) 和 域名註冊 (Hosting speed)

按此推薦網址註冊,可獲得10美元Credit的優惠【 https://m.do.co/c/586afef63cee 】。

為老闆娘做網頁,自從寫好基本的網頁框架,就把它放下了一段日子,十二月尾至一月初忙著做線下的工作,為訂單起貨。現在網頁仍欠一些產品照和字型配色等的外觀設計,還有要等待和店主討論希望如何展示定價和包裝等等。在這個等待的時候,為了準備之後的正式部署上線,12月中開始租了一個Digital Ocean的雲端主機作虛擬專用伺服器(VPS) 用來寄存和運行網站;1月初還在 Hostingspeed.net 買了一個 .hk 的域名。

Digital Ocean

當開發階段有了雛型時,就向身邊的朋友示範和搜集意見,"上線"這部分就推介了DigitalOcean (D.O.) 這個VPS主機商。作為個人運作的網站,還要是對寫網頁仍在學習中的階段,它的好處是入門門檻相對很低。DO 有不同的租用計劃選擇,最便宜的只需每月$5美金,(新用戶用朋友的邀請連結去註冊,有$10的credit,如上),可以分到一個在新加坡的伺服器, 512mb記憶體,20GB硬碟空間,我選擇 1-click app的版本,預設好 Ubuntu 16.04, Python 2.7.12, Django 1.8.7。


按邀請 [連結] 建立帳戶:

2018年1月7日 星期日

老虎頭 - 從「情侶放閃」變成「挑戰情侶」路線

路線 :愉景灣-寶峰徑-涼亭瞭望台-老虎頭-山頂瞭望台-石堆-亞婆塱-白芒-東涌
點去:港鐵東涌站 D 出口,乘愉景灣巴士 DB01R 往海燕徑15號 ,登對面梯級往寶峰徑盡頭
需時:從愉景灣到東涌,大約 5 小時
地圖:https://drive.google.com/open?id=1-bHko-mKUSBE_A_cM0H4tpoFnWWt9IhD&usp=sharing



這個星期在電視港台31台,看到一集「聖誕特備情侶放閃一日遊」介紹老虎頭郊遊徑 。近年網上也見多了那張從山上望向愉景灣的相片,山咀處的山勢伴隨小徑和荒草,呈現出一個老虎頭後頸脊的形態。2017年未周日的行山Group就選取了這條少行的山嶺路去走一走。
<自在8點半(旅遊) 第十六集>:  http://www.rthk.hk/tv/dtt31/programme/830magazine/episode/469877