【far 语言】字符串

本文是「far 语言」系列文档之一,总目录见《【far 语言】语言文档目录》。

字符串与模板

Far 字符串方法对标 Java String,s.method() 调用。

基本操作

s := "Hello Far World";
println(s.len());                       // 15
println(s.charAt(1));                   // e
println(s.charAt(99));                  // 越界返回空串 ""
println(s.substring(3, 99));            // lo Far World(越界截断)
println(s.substring(-2, 4));            // Hell(负索引按 0 处理)

// 拼接
println("a" + "b");                     // ab
println("n = " + 1);                    // n = 1(数字自动转字符串)

常用方法

"  AbC dEf  ".trim().toLowerCase().replace(" ", "-");  // abc-def
"a,b,c".split(",");                     // ["a","b","c"]
"a,,b".split(",");                      // 保留空段 ["a","","b"]
"AbC".toUpperCase();                    // ABC
"AbC".toLowerCase();                    // abc

长度

  • s.len()UTF-8 字节数"你好世界".len() = 12(每字 3 字节)。
  • substring(0, 3) 截取前 3 字节 = "你"

字符串模板

// 反引号模板:${expr} 插值,支持任意表达式
name := "far";
println(`Hello ${name}!`);              // Hello far!

// 字段访问 / 长文本 / 跨行
println(`user: ${u.name}`);
sql := `SELECT * FROM t WHERE id = ${id}`;   // 多行/长文本
  • 转义:\` 表示反引号,\${ 表示字面量 ${
  • 插值内字符串用双引号 "(含 } 的字符串安全)。

切片

s[0..<2]              // 字符串切片(< 为指针移位糖)
explode(s, "/")[<1..]  // 数组切片

完整方法速查

方法 说明
len() UTF-8 字节长度
charAt(i) 取字符(越界返回空串)
substring(start, end) 切片(越界截断)
split(sep) 分割(保留空段)
trim() 去首尾空白
toUpperCase() / toLowerCase() 大小写转换
replace(old, new) 替换
posted @ 2026-09-13 05:05  方东信  阅读(3)  评论(0)    收藏  举报