ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / String functions
  • Middle and UNICODE
  • Miscellaneous
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Extracts:
  • a substring from a string starting at a specified position.
  • part of a buffer starting at a specified position.
Remark: The same feature can be obtained with the [[]] operator.
Example
// Extract characters
Middle("Eponine", 2, 3)   // Returns "pon"
Middle("Eponine", 2)    // Returns "ponine"
Middle("Eponine", 50)    // Returns ""
Middle("Eponine", 2, 50)   // Returns "ponine"
// Equivalent to
// MyString is string = Eponine
// MyString = MyString[[2,50]]
 
MyString is string = "Antananarivo - Madagascar"
Middle(MyString, 10, 7)   // Returns "ivo - M"
WINDEVUniversal Windows 10 AppJavaUser code (UMC)
// Extract bytes
MyBuffer is Buffer = "Antananarivo - Madagascar"
Middle(MyBuffer, 10, 7) // Returns "ivo - M"
Syntax

Extracting a substring from a string Hide the details

<Result> = Middle(<Initial string> , <Start position> [, <Length>])
<Result>: Character string
  • Part of <Initial string>.
  • Empty string ("") if <Start position> is greater than the length of <Initial string>.
  • EOT if <Start position> and/or <Length> are negative. A WLanguage error occurs (non-fatal error). To get more details on the error, use ErrorInfo.
<Initial string>: Character string
Character string containing the substring to extract. This string is not modified.
<Start position>: Integer
Position of the first character to extract.
If <Start position> is null, the extraction starts at the beginning of the string.
<Length>: Optional integer
Number of characters to extract.
If this parameter is not specified or is greater than the number of characters after <Start position>, the string is returned from <Start position>.
WINDEVUniversal Windows 10 AppJavaUser code (UMC)

Extracting part of a buffer Hide the details

<Result> = Middle(<Initial buffer> , <Start position> [, <Size>])
<Result>: Character string
  • Part of <Initial buffer>.
  • Empty string ("") if <Start position> is greater than the length of <Initial buffer>.
  • EOT if <Start position> and/or <Size> are negative. A WLanguage error occurs (non-fatal error). To get more details on the error, use ErrorInfo.
  • Invalid buffer if <Initial buffer> contains a UNICODE string.
<Initial buffer>: Buffer
Buffer containing the part to extract. This buffer is not modified.
<Start position>: Integer
Position of first byte to extract.
If <Start position> is null, the extraction starts at the beginning of the buffer.
<Size>: Optional integer
Number of bytes to extract.
If this parameter is not specified or is greater than the number of characters after <Start position>, the string is returned from <Start position>.
Remarks

Middle and UNICODE

If the string passed as a parameter is an ANSI string, the result will be an ANSI string.
If the string passed as a parameter is a UNICODE string, the result will be a UNICODE string.
Reminder: In UNICODE, each character uses two bytes.. Therefore, the memory size of UNICODE strings is twice the number of characters actually contained in the string.
The fist character in the string is at index 1.
Remark: If the function is used on an ANSI string and the result is assigned to a UNICODE string or vice versa, a conversion will be implicitly performed.
For more details, see Managing UNICODE.

Miscellaneous

The same feature can be obtained with the [[]] operator.
Component: wd300vm.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 07/03/2023

Send a report | Local help