簡體   English   中英

InDesign GREP 重新格式化時間范圍

[英]InDesign GREP reformatting of Time Ranges

Indesign GREP 新手在這里。 我收到需要重新格式化的時間文本。 我將如何使用 GREP 代碼格式化時間范圍,以從同一時間范圍內兩次具有“am”或“pm”的任何時間范圍中省略第一個“am”或“pm”? 另外,我試圖從所有時間范圍中省略“:00”。 有沒有一種簡單的方法可以在同一個 GREP 中消除它?

例如:

提供以下服務: • 上午 9:15-10:00 • 下午 1:00-下午 3:30 • 上午 11:30-下午 12:30 • 上午 9:00-下午 1:00

這就是我的目標: • 9:15-10am • 1-3:30pm • 11:30am-12:30pm • 9am-1pm

如果您不介意腳本,這里是基本算法:

 function clean_ranges(txt) { txt = txt.replace(/:00/g, ''); var ranges = txt.split(' • '); for (var i=0; i<ranges.length; i++) { if (ranges[i].split('am').length>2) ranges[i] = ranges[i].replace('am',''); if (ranges[i].split('pm').length>2) ranges[i] = ranges[i].replace('pm',''); } return ranges.join(' • '); } var str = '• 9:15am-10:00am • 1:00pm-3:30pm • 11:30am-12:30pm • 9:00am-1:00pm'; console.log(clean_ranges(str));

這可以通過 GREP 完成,但您需要 2 次搜索:

am(?=-\d{1,2}:\d{2}am)

pm(?=-\d{1,2}:\d{2}pm)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM