From OpenSCADAWiki
Jump to: navigation, search
  • Рядок:
Властивості:
  • int length — довжина рядка.
Функції:
  • bool isEVal(); — перевіряє значення на null-EVAL.
  • bool isNaN( bool whole = true ); — перевіряє рядок на не число, та загалом whole.
  • string charAt( int symb, string type = "" ); — дістає із рядка символ за номером symb типу type. Наступні типи символу підтримуються: ""-ASCII та простий одно байтовий, UTF-8, UTF-16, UTF-32. У випадку із UTF-8, позиція символу symb змінюється у позицію наступного символу оскільки довжина символів цього типу змінна.
  • int charCodeAt( int symb, string type = "" ); — дістає із рядка код символу symb типу type. Наступні типи символу підтримуються: ""-ASCII та простий одно байтовий, UTF-8, UTF-16, UTF-16LE, UTF-16BE, UTF-32, UTF-32LE, UTF-32BE. У випадку із UTF-8, позиція символу symb змінюється у позицію наступного символу оскільки довжина символів цього типу змінна.
  • string concat( string val1, string val2, ... ); — повертає новий рядок, сформований шляхом приєднання значень val1 та інші до початкового.
  • int indexOf( string substr, int start = 0 ); — повертає позицію пошукового рядка substr у вихідному рядку, починаючи з позиції start. Якщо вихідна позиція не вказана то пошук починається з початку. Якщо шуканого рядка не знайдено то повертається "-1".
  • int lastIndexOf( string substr, int start = {end} ); — повертає позицію шуканого рядка substr у вихідному рядку починаючи з позиції start, при пошуку з кінця. Якщо вихідна позиція не вказана то пошук починається з кінця. Якщо шуканого рядку не знайдено то повертається "-1".
  • int search( string pat, string flg = "" ); — шукає у рядку за шаблоном pat та ознаками шаблону flg. Повертає положення знайденого рядку інакше "-1".
var rez = "Java123Script".search("script","i");  // rez = 7
  • int search( RegExp pat ); — шукає у рядку за шаблоном "RegExp" pat. Повертає положення найденого підрядку інакше "-1".
var rez = "Java123Script".search(new RegExp("script","i"));  // rez = 7
  • Array match( string pat, string flg = "" ); — шукає у рядку за шаблоном pat та ознаками шаблону flg. Повертає масив із знайденим підрядком (0) та підвиразами (>1). Атрибут "index" масиву встановлюється у позицію знайденого підрядка. Атрибут "input" встановлюється у початковий рядок. Атрибут "err" встановлюється у код помилки операції.
var rez = "1 плюс 2 плюс 3".match("\\d+","g");  // rez = [1], [2], [3]
  • Array match( TRegExp pat ); — шукає у рядку за шаблоном "RegExp" pat. Повертає масив зі знайденим підрядком (0) та підвиразами (>1). Атрибут "index" масиву встановлюється у позицію знайденого підрядка. Атрибут "input" встановлюється у початковий рядок. Атрибут "err" встановлюється у код помилки операції.
var rez = "1 плюс 2 плюс 3".match(new RegExp("\\d+","g"));  // rez = [1], [2], [3]
  • string slice( int beg, int end ); string substring( int beg, int end ); — повертає підрядок вилучений з початкового, починаючи з позиції beg та до end (не включаючи), нумерація з нуля. Якщо значення початку або кінця негативне, то відлік ведеться з кінця рядку. Якщо кінець не вказано, то кінцем є кінець рядку. Наприклад, конструкція substring(-2) поверне останні два символи рядку.
  • Array split( string sep, int limit ); — повертає масив елементів рядку, поділених sep та з обмеженням кількості елементів limit.
  • Array split( RegExp pat, int limit ); — повертає масив елементів рядку, поділених шаблоном "RegExp" pat та з обмеженням кількості елементів limit.
rez = "1,2, 3 , 4 ,5".split(new RegExp("\\s*,\\s*"));  // rez = [1], [2], [3], [4], [5]
  • string insert( int pos, string substr ); — вставляє підрядок substr у позицію pos поточного рядку.
  • string replace( int pos, int n, string str ); — замінює підрядок з позиції pos та довжиною n у поточному рядку, на рядок str.
rez = "Javascript".replace(4,3,"67");  // rez = "Java67ipt"
  • string replace( string substr, string str ); — замінює всі підрядки substr на рядок str.
rez = "123 321".replace("3","55");  // rez = "1255 5521"
  • string replace( RegExp pat, string str ); — замінює підрядок за шаблоном pat на рядок str.
rez = "value = \"123\"".replace(new RegExp("\"([^\"]*)\"","g"),"``$1''"));  // rez = "value = ``123''"
  • real toReal(); — перетворює поточной рядок у реальне число.
  • int toInt( int base = 10 ); — перетворює поточний рядок у ціле число, відповідно до основи base (від 2 до 36). Якщо основа дорівнює 0 тоді буде враховуватися префіксний запис для визначення основи (123-десяткове; 0123-вісімкове; 0x123-шістнадцяткове).
  • string {parse,parseEnd}( int pos, string sep = ".", int off = {0,{length}}, bool mergeSepSymb = false ); — виокремлює із вихідного рядку елемент pos для роздільника елементів sep та від зміщення off (зупинка на початку наступного токену, або кінці для parseEnd). mergeSepSymb визначає дозвіл поєднання групи однакових символів у один роздільник. Результуюче зміщення поміщається назад до off. parseEnd() робить те саме, але з кінця.
  • string parseLine( int pos, int off = 0 ); — виокремлює рядок з номером pos від зміщення off (зупинка на початку наступного токену). Результуюче зміщення поміщається назад до off.
  • string parsePath( int pos, int offCmptbl = 0, int off = 0 ); — виділяє з початкового шляху елемент pos від зміщення off (зупинка на початку наступного токену) або offCmtbl (зупинка на наступному символі кінця поточного токену — для сумісності). Результуюче зміщення поміщається назад до off або offCmtbl.
  • string parsePathEnd( int pos, int off = {length} ); — виділяє з кінця рядка початкового шляху елемент pos від зміщення off (зупинка на кінці наступного токену). Результуюче зміщення поміщається назад до off.
  • string path2sep( string sep = "." ); — перетворює шлях у поточному рядку у рядок з розділювачем sep.
  • string trim( string cfg = " \n\t\r" ); — обрізає рядок з початку та кінцю, для символів cfg.