2015-02-02 4 views
0

Я следующий код, который запрашивает у пользователя разделенных запятыми список мест:Приставка в AppleScript список текстовых элементов

set AppleScript's text item delimiters to {","} 

set thePlaces to the text items of the text returned of (display dialog "Insert referenced places separated by commas" default answer "") 

Это приведет в список с нескольких пунктов («Париж», «Лондон» , ...).

Мое намерение состоит префикс каждый элемент этого списка с помощью строки (для, например, «PLC:».. В конце концов, я хотел бы список будет состоять по таким параметрам, как:

«плс : Париж»,„плс:. Лондон“

пытался, но не повезло до сих пор Может кто-нибудь мне точку в правильном направлении

Благодаря

ответ

3

Выглядит немного жестокой, но работает.?. по желанию:

repeat with i from 1 to count thePlaces 
    set item i of thePlaces to "plc:" & item i of thePlaces 
end repeat 

Цикл повтор петли по элементам и добавить «плс:» перед содержанием ...

Наслаждайтесь, Майкл/Гамбург

+0

Спасибо! Работала отлично. – BMM

1

Это, как вы можете сделать это с текстом пункта разделители, мы помещаем каждый элемент, с уникальным значением для фронта, и один для конца, чтобы мы могли различать два. На самом деле это не так с такими маленькими списками. Я просто хотел показать вам, как это можно сделать.

set astid to text item delimiters 
set the places to "Paris,London,Rome" 
set text item delimiters to "," 
set lstItms to text items of the places 
-- we "box" the text items, so that every one is prepended with a return, and has a linefeed appended to it. 
set text item delimiters to return & linefeed 
set places to lstItms as text 
set text item delimiters to astid 
set places to linefeed & places & return 
-- our list is in shape, time to do the actual replacement. 
set text item delimiters to linefeed 
set lstItms to text items of places 
set text item delimiters to "plc:" 
set places to lstItms as text 
set text item delimiters to return 
set lstItms to text items of places 
set text item delimiters to astid 
log item 1 of lstItms 
(*plc:Paris*) 
+0

Полезно знать более сложные сценарии использования – BMM

Смежные вопросы