﻿ Substring

Substring

1. A String variable can have a substring qualifier.
When s\$ is a string variable, and m,n are numeric expressions, s\$(m:n) stands for the substring of s\$ from m-th character to n-th character.
For example, if a\$="12345", a\$(2:4) is "234".

2. A string variable with a substring qualifier can be written on the left hand side of a LET statement.
Example.
`LET s\$(m:n)=a\$`
The substring of s\$ from m-th character to n-th character is replaced with a\$.
The length of a\$ can be different from the length of the substring to be replaced.
Example.

```10 LET A\$="1234567"
20 LET A\$(2:6)="ABC"
30 PRINT A\$
40 END```

Output

`1ABC7`

Insertion of a string to a string variable
` LET A\$(n+1:n)=b\$ `
inserts b\$ at the n-th character of A\$.
Example.

```10 LET A\$="1234567"
20 LET LET A\$(4:3)="ABC"
30 PRINT A\$
40 END```

Output 123ABC4567

Deletion of a substring from a string variable
` LET A\$(m:n)="" `
deletes m-th character to n-th character from A\$.
Example.

```10 LET A\$="1234567"
20 LET LET A\$(4:6)=""
30 PRINT A\$
40 END```

Output 1237

(Note)
String variables with substring qualifiers can be written in a INPUT statement or a READ statement.

A substring qualifier can not be applied to a string expression.
A function that picks out a substring from a string can be defined as follows.
`DEF SUBSTR\$(a\$,m,n)=a\$(m:n)`
SUBSTR\$ is pre-defined on Decimal BASIC, so the DEF statement above need not be written.