AutoIt: 3.?.??.?
Версия: 1.0
Категория: Вспомогательные функции, Строки, Данные
Описание: Творит цитаты из имеющейся строки. Берет строку, и делит её по нужному вам знаку (по умолчанию запятая), при этом выдергивает цитаты, не ломая их той же запятой.
Важно! При указании $quotes, не забывайте про парность символов, т.е. если есть (, то должно быть и ).
Код/Пример:
Файл: http://
Снимок:
История версий:
Источник: autoit-script.ru
Автор(ы): ЭйчЭйч
Версия: 1.0
Категория: Вспомогательные функции, Строки, Данные
Описание: Творит цитаты из имеющейся строки. Берет строку, и делит её по нужному вам знаку (по умолчанию запятая), при этом выдергивает цитаты, не ломая их той же запятой.
Важно! При указании $quotes, не забывайте про парность символов, т.е. если есть (, то должно быть и ).
Код/Пример:
Код:
#Region About
#cs
Title: Redneck Quote Splitter v1.0
Filename: RedneckQuoteSqplit.au3
Description: ---
Authors: HH (original)
Forum Topic: http://autoit-script.ru/index.php?topic=26702
Version: 1.00 (17 March 2019)
Requirements: AutoIt v3.3 +
Uses: None
Notes: -
How to use:
1. include, using #include <RedneckQuoteSplit.au3>
2. call function by _RedneckQuoteSplit($string, $delimeter, $quote)
#ce
#EndRegion
#include-once
#include <Array.au3>
; Example below, you can delete this
Local $vTest = 'My Item, "Name, or Title", ''Param, other param'', [Quoted, using square brackets], (Quoted, using round brackets), Icon, -2'
;Local $sDelimeter = ','
;Local $sDelimeters = '"''[]()'
Local $aResult = _RedneckQuoteSplit($vTest)
;ConsoleWrite(_ArrayDisplay($aResult))
; Main Function
Func _RedneckQuoteSplit($string, $delimeter = ',', $quotes = '"''[]()')
$iStringLenght = StringLen($string)
Local $j = 1
Local $sResult = ''
Local $aResult[$iStringLenght/4]
Local $iQuoteFlag = False
For $i = 1 to $iStringLenght + 1
$sSymbol = String(StringMid($string, $i, 1))
If StringInStr($quotes, $sSymbol) Then
If $iQuoteFlag == False Then
$iQuoteFlag = True
Else
$iQuoteFlag = False
EndIf
EndIf
If $sSymbol = $delimeter and $iQuoteFlag == False or $i = $iStringLenght + 1 Then
;ConsoleWrite(@crlf & $j & ' ' & $sResult & @crlf & ' ' & $iQuoteFlag & @crlf)
$aResult[$j] = $sResult
$sResult = ''
$j += 1
Else
$sResult &= String($sSymbol)
EndIf
Next
$aResult[0] = $j
ReDim $aResult[$j]
Return $aResult
EndFunc
Файл: http://
Снимок:
История версий:
Источник: autoit-script.ru
Автор(ы): ЭйчЭйч