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 43 times, 1 visits today)

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

Google Search

Popular posts

  • Numbersで選択範囲のセルの前後の空白を削除
  • macOS 26, Tahoe
  • macOS 15でも変化したText to Speech環境
  • KagiのWebブラウザ、Orion
  • Script Debuggerの開発と販売が2025年に終了
  • 【続報】macOS 15.5で特定ファイル名パターンのfileをaliasにcastすると100%クラッシュするバグ
  • macOS 15 リモートApple Eventsにバグ?
  • NSObjectのクラス名を取得 v2.1
  • 2024年に書いた価値あるAppleScript
  • macOS 15:スクリプトエディタのAppleScript用語辞書を確認できない
  • Xcode上のAppleScriptObjCのプログラムから、Xcodeのログ欄へのメッセージ出力を実行
  • (確認中)AppleScript Dropletのバグっぽい動作が解消?
  • AppleScript Dropletのバグっぽい動作が「復活」(macOS 15.5β)
  • AVSpeechSynthesizerで読み上げテスト
  • 指定フォルダ以下の画像のMD5チェックサムを求めて、重複しているものをピックアップ
  • macOS 26, 15.5でShortcuts.app「AppleScriptを実行」アクションのバグが修正される
  • Apple、macOS標準搭載アプリ「写真」のバージョン表記を間違える
  • Numbersで選択中の2列のセルを比較して並べ直して書き戻す v2
  • Script Debuggerがフリーダウンロードで提供されることに
  • macOS 15.5beta5(24F74)でaliasのキャスティングバグが修正された???

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (587) 10.15savvy (438) 11.0savvy (283) 12.0savvy (212) 13.0savvy (204) 14.0savvy (159) 15.0savvy (158) 26.0savvy (21) CotEditor (66) Finder (52) Keynote (119) 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 (56) 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
  • Newt On Project
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • process
  • 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
  • Scripting Additions
  • 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年11月
  • 2025年10月
  • 2025年9月
  • 2025年8月
  • 2025年7月
  • 2025年6月
  • 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