Extract substring.
(s: StringRef, offset: ArithRef | int, length: ArithRef | int)
| 2319 | |
| 2320 | |
| 2321 | def SubString(s: StringRef, offset: ArithRef | int, length: ArithRef | int) -> StringRef: |
| 2322 | """Extract substring.""" |
| 2323 | if isinstance(offset, int): |
| 2324 | offset = IntVal(offset) |
| 2325 | if isinstance(length, int): |
| 2326 | length = IntVal(length) |
| 2327 | merged: frozenset[tuple[str, ASTSort]] = frozenset().union(s._vars, offset._vars, length._vars) |
| 2328 | return StringRef(StrSubstrNode(s._ast, offset._ast, length._ast), merged) |
| 2329 | |
| 2330 | |
| 2331 | def IndexOf(s: StringRef, substr: StringRef, offset: ArithRef | int = 0) -> ArithRef: |