Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

「words of」の挙動が変わる

# 電子書籍「AppleScript 10大最新技術」の補完のために追記した記事です

本Blog読者の方からのタレコミで気づいたのですが、Mac OS X 10.6の日本語ユーザー環境で、文字列をwords ofあるいはevery wordで分割したときの挙動が、変わっているとのこと。

英語の文章をwords ofでparseした場合には、スペースで単語が区切られており、単語という単位が明確な英語なので、きれいにword(=単語)ごとに別れてくれます。

ところが、どこからどこまでが単語かという区分があいまいで、かつ単語に区分けするとかいう必要性が一般的にはそれほどない(大学のレポートを4000文字以上で、というオーダーはあったとしても、400ワードで書けという話は見かけたことがない)日本語においては、Appleの不甲斐なさもあって、words ofでparseしても、ひらがなやカタカナ、漢字など文字種類が変わる切れ目で区切られるという、変態仕様になっていました。

newt_on.jpg

そのため、人工知能インタフェース「Newt On」をAppleScriptで開発した際には、わざわざ日本語パーサーとしてMicrosoft Word v.Xを使ったほどですが……

Mac OS X 10.6で、この誰もアテにせず期待もしていなかったAppleScriptの日本語parse機能が向上したようです。

スクリプト名:words_of_result_1067
–Mac OS X 10.6.7の実行結果

set a to “翌日午前0:25〜翌日午前0:50(25分)”
set aList to words of a
–> {“翌日”, “午前”, “0”, “25”, “翌日”, “午前”, “0”, “50”, “25”, “分”}

set a to “原子力発電所”
set aList to words of a
–> {“原子”, “力”, “発電”, “所”}

▼新規書類に ▼カーソル位置に ▼ドキュメント末尾に

どこかで見たようなparseの仕方だと思っていたら、Mac OS X 10.5から標準搭載されているMeCabのParse結果にそっくりです。

mecabtest.jpg

現在、Mac OS XにはSpotlightのインデックス作成用にMeCabが標準搭載されており、ちょっとしたプログラムを書くことでユーザーからも呼び出せるようになっています。

ちなみに、上記の結果を古いMac OS X上でためしてみた結果は以下のとおりです。

スクリプト名:words_of_result_1039
–Mac OS X 10.3.9の実行結果

set a to “翌日午前0:25〜翌日午前0:50(25分)”
set aList to words of a
–> {“翌日午前”, “0”, “25”, “〜”, “翌日午前”, “0”, “50”, “25”, “分”}

set a to “原子力発電所”
set aList to words of a
–> {“原子力発電所”}

▼新規書類に ▼カーソル位置に ▼ドキュメント末尾に

スクリプト名:words_of_result_10411
–Mac OS X 10.4.11の実行結果

set a to “翌日午前0:25〜翌日午前0:50(25分)”
set aList to words of a
–> {“翌日午前”, “0”, “25”, “〜”, “翌日午前”, “0”, “50”, “25”, “分”}

set a to “原子力発電所”
set aList to words of a
–> {“原子力発電所”}

▼新規書類に ▼カーソル位置に ▼ドキュメント末尾に

スクリプト名:words_of_result_1058
–Mac OS X 10.5.8の実行結果

set a to “翌日午前0:25〜翌日午前0:50(25分)”
set aList to words of a
–> {“翌日午前”, “0”, “25”, “翌日午前”, “0”, “50”, “25”, “分”}

set a to “原子力発電所”
set aList to words of a
–> {“原子力発電所”}

▼新規書類に ▼カーソル位置に ▼ドキュメント末尾に

(Visited 39 times, 1 visits today)

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • 開発機としてM2 Mac miniが来たのでガチレビュー
  • macOS 15, Sequoia
  • 指定のWordファイルをPDFに書き出す
  • Pages本執筆中に、2つの書類モード切り替えに気がついた
  • Numbersで選択範囲のセルの前後の空白を削除
  • メキシカンハットの描画
  • Pixelmator Pro v3.6.4でAppleScriptからの操作時の挙動に違和感が
  • AdobeがInDesign v19.4からPOSIX pathを採用
  • AppleScriptによる並列処理
  • Safariで「プロファイル」機能を使うとAppleScriptの処理に影響
  • Cocoa Scripting Course 続刊計画
  • macOS 14.xでScript Menuの実行速度が大幅に下がるバグ
  • AppleScript入門③AppleScriptを使った「自動化」とは?
  • macOS 15でも変化したText to Speech環境
  • Keynote/Pagesで選択中の表カラムの幅を均等割
  • デフォルトインストールされたフォント名を取得するAppleScript
  • macOS 15 リモートApple Eventsにバグ?
  • AppleScript入門① AppleScriptってなんだろう?
  • macOS 14で変更になったOSバージョン取得APIの返り値
  • Keynoteで2階層のスライドのタイトルをまとめてテキスト化

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (587) 10.15savvy (438) 11.0savvy (283) 12.0savvy (212) 13.0savvy (194) 14.0savvy (147) 15.0savvy (132) CotEditor (66) Finder (51) iTunes (19) Keynote (117) NSAlert (61) NSArray (51) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (53) NSDictionary (28) NSFileManager (23) NSFont (21) NSImage (41) NSJSONSerialization (21) NSMutableArray (63) NSMutableDictionary (22) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (119) NSURL (98) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (76) Pages (55) Safari (44) Script Editor (27) WKUserContentController (21) WKUserScript (20) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • Beginner
  • Benchmark
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • check sum
  • Clipboard
  • Cocoa-AppleScript Applet
  • Code Sign
  • Color
  • Custom Class
  • date
  • dialog
  • diff
  • drive
  • Droplet
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Localize
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spellchecker
  • Spotlight
  • SVG
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC