AIWROK软件字符方法集合小结
<h3 id="tdjKI" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text"></span></h3><div><span class="ne-text"><br></span></div><div><span class="ne-text"><div class="blockcode"><blockquote>//字符.分割字符<br><br><br>/**<br> * 字符串分割工具模块 - 修正版<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> /**<br> * 字符串分割方法<br> * @param {string} str 要分割的字符串<br> * @param {string} divide 分隔符<br> * @returns {Array|null} 分割后的数组或null(错误时)<br> */<br> 分割字符: function(str, divide) {<br> try {<br> if (typeof str !== 'string') return null;<br> if (typeof divide !== 'string') return null;<br><br> if (divide === '') {<br> var result = [];<br> for (var i = 0; i < str.length; i++) {<br> result.push(str.charAt(i));<br> }<br> return result;<br> }<br><br> var parts = [];<br> var lastIndex = 0;<br> var index = str.indexOf(divide);<br> <br> while (index >= 0) {<br> parts.push(str.substring(lastIndex, index));<br> lastIndex = index + divide.length;<br> index = str.indexOf(divide, lastIndex);<br> }<br> <br> parts.push(str.substring(lastIndex));<br> return parts;<br> <br> } catch (e) {<br> return null;<br> }<br> }<br>};<br><br><br><br>printl("=== 测试开始 ===");<br>printl("基本测试: " + 字符.分割字符('a,b,c', ','));<br>printl("逐字符测试: " + 字符.分割字符('abc', ''));<br>printl("错误测试: " + 字符.分割字符(123, ','));<br>printl("=== 测试结束 ===");<br><br><br>//字符.删全部空格<br>/**<br> * 字符串分割工具模块 - 增强版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有分割字符方法...<br> 分割字符: function(str, divide) {<br> // ...原有实现保持不变...<br> },<br><br> /**<br> * 删除字符串中所有空格<br> * @param {string} str 输入字符串<br> * @returns {string|null} 处理后的字符串或null(错误时)<br> */<br> 删全部空格: function(str) {<br> try {<br> if (typeof str !== 'string' && !(str instanceof java.lang.String)) {<br> return null;<br> }<br> // 使用正则表达式移除所有空格(包括全角空格)<br> return str.replace(/[\s ]+/g, '');<br> } catch (e) {<br> printl("[删全部空格错误] " + e.message);<br> return null;<br> }<br> }<br>};<br><br>// 测试代码<br>printl("=== 空格删除测试 ===");<br>printl("测试1: " + 字符.删全部空格(' a bcd'));// 输出: "abcd"<br>printl("测试2: " + 字符.删全部空格(' 中 文 空 格 ')); // 输出: "中文空格"<br>printl("测试3: " + 字符.删全部空格(123)); // 输出: null<br><br>//字符.删头尾空格<br><br>/**<br> * 字符串工具模块 - 增强版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有分割字符方法...<br> 分割字符: function(str, divide) {<br> // ...原有实现保持不变...<br> },<br><br> // 原有删全部空格方法...<br> 删全部空格: function(str) {<br> // ...原有实现保持不变...<br> },<br><br> /**<br> * 删除字符串开头和结尾的空格<br> * @param {string} str 输入字符串<br> * @returns {string|null} 处理后的字符串或null(错误时)<br> */<br> 删头尾空格: function(str) {<br> try {<br> if (typeof str !== 'string' && !(str instanceof java.lang.String)) {<br> return null;<br> }<br> // 移除开头和结尾的空格(包括全角空格)<br> return str.replace(/^[\s ]+|[\s ]+$/g, '');<br> } catch (e) {<br> printl("[删头尾空格错误] " + e.message);<br> return null;<br> }<br> }<br>};<br><br>// 测试代码<br>printl("=== 功能测试 ===");<br>printl("删头尾空格测试: '" + 字符.删头尾空格('ab cd') + "'");// 输出: 'ab cd'<br>printl("全角空格测试: '" + 字符.删头尾空格(' 中文 ') + "'"); // 输出: '中文'<br>printl("错误测试: " + 字符.删头尾空格(123)); // 输出: null<br><br>//字符.反向截取<br><br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 反向截取字符串<br> * @param {string} str 输入字符串<br> * @param {number} start 起始位置(支持负数)<br> * @param {number} 结束位置(可选,支持负数)<br> * @returns {string|null} 处理后的字符串或null(错误时)<br> */<br> 反向截取: function(str, start, end) {<br> try {<br> // 参数校验<br> if (typeof str !== 'string' && !(str instanceof java.lang.String)) return null;<br> if (typeof start !== 'number') return null;<br> <br> // 处理负数索引<br> const len = str.length;<br> let startPos = start < 0 ? Math.max(len + start, 0) : Math.min(start, len);<br> let endPos = len;<br> <br> if (end !== undefined) {<br> if (typeof end !== 'number') return null;<br> endPos = end < 0 ? Math.max(len + end, 0) : Math.min(end, len);<br> }<br> <br> // 确保start <= end<br> if (startPos > endPos) {<br> = ;<br> }<br> <br> return str.substring(startPos, endPos);<br> } catch (e) {<br> printl("[反向截取错误] " + e.message);<br> return null;<br> }<br> }<br>};<br><br>// 新增测试代码<br>printl("=== 反向截取测试 ===");<br>printl("测试1: " + 字符.反向截取('abcd', -1)); // 输出: "d"<br>printl("测试2: " + 字符.反向截取('abcd', -1, -4));// 输出: "dcba"<br>printl("测试3: " + 字符.反向截取('abcd', 1, 3)); // 输出: "bc"<br>printl("测试4: " + 字符.反向截取('abcd', -2)); // 输出: "cd"<br>printl("错误测试: " + 字符.反向截取(123, 1)); // 输出: null<br><br><br>//字符.反向查找子字符<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 反向查找子字符串位置<br> * @param {string} str 被查找的字符串<br> * @param {string} searchValue 要查找的子字符串<br> * @param {number} 可选,开始查找的位置<br> * @returns {number} 子字符串位置(从0开始),未找到返回-1<br> */<br> 反向查找子字符: function(str, searchValue, fromIndex) {<br> try {<br> // 参数校验<br> if (typeof str !== 'string' && !(str instanceof java.lang.String)) return -1;<br> if (typeof searchValue !== 'string' && !(searchValue instanceof java.lang.String)) return -1;<br> <br> // 处理fromIndex参数<br> const len = str.length;<br> let start = fromIndex !== undefined ? <br> (fromIndex < 0 ? Math.max(len + fromIndex, 0) : Math.min(fromIndex, len - 1)) :<br> len - 1;<br> <br> // 反向查找实现<br> if (searchValue === '') return start >= 0 ? start : len;<br> <br> const searchLen = searchValue.length;<br> for (let i = start; i >= 0; i--) {<br> let match = true;<br> for (let j = 0; j < searchLen; j++) {<br> if (str.charAt(i + j) !== searchValue.charAt(j)) {<br> match = false;<br> break;<br> }<br> }<br> if (match) return i;<br> }<br> <br> return -1;<br> } catch (e) {<br> printl("[反向查找错误] " + e.message);<br> return -1;<br> }<br> }<br>};<br><br>// 新增测试代码<br>printl("=== 反向查找测试 ===");<br>printl("查找d: " + 字符.反向查找子字符('abcd','d'));// 输出: 3<br>printl("查找t: " + 字符.反向查找子字符('abcd','t'));// 输出: -1<br>printl("限定位置查找: " + 字符.反向查找子字符('abcd','a', 2)); // 输出: 0<br>printl("空子串查找: " + 字符.反向查找子字符('abcd','')); // 输出: 3<br>printl("错误测试: " + 字符.反向查找子字符(123,'a')); // 输出: -1<br><br>//字符.取下标字符<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 获取指定下标位置的字符<br> * @param {string} str 输入字符串<br> * @param {number} index 字符位置(支持负数)<br> * @returns {string|null} 指定位置的字符或null(错误时)<br> */<br> 取下标字符: function(str, index) {<br> try {<br> // 参数校验<br> if (typeof str !== 'string' && !(str instanceof java.lang.String)) return null;<br> if (typeof index !== 'number') return null;<br> <br> // 处理负数索引<br> const len = str.length;<br> const pos = index < 0 ? <br> Math.max(len + index, 0) : <br> Math.min(index, len - 1);<br> <br> // 边界检查<br> if (pos < 0 || pos >= len) return null;<br> <br> return str.charAt(pos);<br> } catch (e) {<br> printl("[取下标字符错误] " + e.message);<br> return null;<br> }<br> }<br>};<br><br>// 新增测试代码<br>printl("=== 取下标字符测试 ===");<br>printl("测试1: " + 字符.取下标字符('abcd', 2)); // 输出: "c"<br>printl("测试2: " + 字符.取下标字符('abcd', -1)); // 输出: "d"<br>printl("测试3: " + 字符.取下标字符('abcd', 10)); // 输出: null<br>printl("测试4: " + 字符.取下标字符('中文测试', 1)); // 输出: "文"<br>printl("错误测试: " + 字符.取下标字符(123, 1)); // 输出: null<br><br>//字符.取长度<br><br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 获取字符串长度(字节数)<br> * @param {string} str 输入字符串<br> * @returns {number|null} 字符串长度或null(错误时)<br> */<br> 取长度: function(str) {<br> try {<br> // 参数校验<br> if (typeof str !== 'string' && !(str instanceof java.lang.String)) return null;<br> <br> // 计算字节长度(兼容中文)<br> let bytes = 0;<br> for (let i = 0; i < str.length; i++) {<br> const c = str.charCodeAt(i);<br> bytes += c < 128 ? 1 : 2; // ASCII字符1字节,其他2字节<br> }<br> return bytes;<br> } catch (e) {<br> printl("[取长度错误] " + e.message);<br> return null;<br> }<br> }<br>};<br><br>// 新增测试代码<br>printl("=== 取长度测试 ===");<br>printl("中文测试: " + 字符.取长度('我们的软件最好用'));// 输出: 8 (4个中文字符×2字节)<br>printl("数字测试: " + 字符.取长度('1771955063')); // 输出: 10<br>printl("混合测试: " + 字符.取长度('a1中b2')); // 输出: 5 (1+1+2+1+1)<br>printl("空字符串: " + 字符.取长度('')); // 输出: 0<br>printl("错误测试: " + 字符.取长度(null)); // 输出: null<br><br>//字符.复制字符<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 复制字符串指定倍数<br> * @param {string} str 输入字符串<br> * @param {number} count 复制倍数<br> * @returns {string|null} 复制后的字符串或null(错误时)<br> */<br> 复制字符: function(str, count) {<br> try {<br> // 参数校验<br> if (typeof str !== 'string' && !(str instanceof java.lang.String)) return null;<br> <br> // 设置默认值(ES5写法)<br> count = typeof count === 'number' ? count : 1;<br> if (count < 0) return null;<br> <br> // 处理边界情况<br> if (count === 0) return '';<br> if (str.length === 0) return '';<br> <br> // 高效复制实现<br> var result = '';<br> for (var i = 0; i < count; i++) {<br> result += str;<br> }<br> return result;<br> } catch (e) {<br> printl("[复制字符错误] " + e.message);<br> return null;<br> }<br> }<br>};<br><br>// 测试代码保持不变<br>printl("=== 复制字符测试 ===");<br>printl("默认复制: " + 字符.复制字符('abcd')); // 输出: "abcd"<br>printl("双倍复制: " + 字符.复制字符('ab', 2)); // 输出: "abab"<br>printl("空字符串: " + 字符.复制字符('', 3)); // 输出: ""<br>printl("零次复制: " + 字符.复制字符('abc', 0)); // 输出: ""<br>printl("错误测试: " + 字符.复制字符(123, 2)); // 输出: null<br><br>//字符.字母转大写<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 将字母字符转换为大写<br> * @param {string} str 输入字符串<br> * @returns {string|null} 大写字符串或null(错误时)<br> */<br> 字母转大写: function(str) {<br> try {<br> // 参数校验<br> if (typeof str !== 'string' && !(str instanceof java.lang.String)) return null;<br> if (str.length === 0) return str;<br> <br> // 转换实现<br> var result = '';<br> for (var i = 0; i < str.length; i++) {<br> var code = str.charCodeAt(i);<br> if (code >= 97 && code <= 122) { // a-z<br> result += String.fromCharCode(code - 32);<br> } else {<br> result += str.charAt(i);<br> }<br> }<br> return result;<br> } catch (e) {<br> printl("[字母转大写错误] " + e.message);<br> return null;<br> }<br> }<br>};<br><br>// 新增测试代码<br>printl("=== 字母转大写测试 ===");<br>printl("小写转大写: " + 字符.字母转大写('abcd'));// 输出: "ABCD"<br>printl("混合测试: " + 字符.字母转大写('a1b2中文')); // 输出: "A1B2中文"<br>printl("空字符串: " + 字符.字母转大写('')); // 输出: ""<br>printl("错误测试: " + 字符.字母转大写(123)); // 输出: null<br><br>//字符.字母转小写<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 将字母字符转换为小写<br> * @param {string} str 输入字符串<br> * @returns {string|null} 小写字符串或null(错误时)<br> */<br> 字母转小写: function(str) {<br> try {<br> // 参数校验<br> if (typeof str !== 'string' && !(str instanceof java.lang.String)) return null;<br> if (str.length === 0) return str;<br> <br> // 转换实现<br> var result = '';<br> for (var i = 0; i < str.length; i++) {<br> var code = str.charCodeAt(i);<br> if (code >= 65 && code <= 90) { // A-Z<br> result += String.fromCharCode(code + 32);<br> } else {<br> result += str.charAt(i);<br> }<br> }<br> return result;<br> } catch (e) {<br> printl("[字母转小写错误] " + e.message);<br> return null;<br> }<br> }<br>};<br><br>// 新增测试代码<br>printl("=== 字母转小写测试 ===");<br>printl("大写转小写: " + 字符.字母转小写('ABCD'));// 输出: "abcd"<br>printl("混合测试: " + 字符.字母转小写('A1B2中文')); // 输出: "a1b2中文"<br>printl("空字符串: " + 字符.字母转小写('')); // 输出: ""<br>printl("错误测试: " + 字符.字母转小写(123)); // 输出: null<br><br>// 字符.数字转字符<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 将任意数据转换为字符串<br> * @param {*} data 输入数据<br> * @param {number} 进制(2-36)<br> * @returns {string|null} 转换后的字符串或null(错误时)<br> */<br> 数字转字符: function(data, radix) {<br> try {<br> // 处理null/undefined<br> if (data == null) return null;<br> <br> // 数字进制转换<br> if (typeof data === 'number' && radix) {<br> if (radix < 2 || radix > 36) return null;<br> return data.toString(radix);<br> }<br> <br> // 默认转换<br> if (data.toString) return data.toString();<br> return String(data);<br> } catch (e) {<br> printl("[数字转字符错误] " + e.message);<br> return null;<br> }<br> }<br>};<br><br>// 新增测试代码<br>printl("=== 数字转字符测试 ===");<br>printl("十进制: " + 字符.数字转字符(4095)); // 输出: "4095"<br>printl("十六进制: " + 字符.数字转字符(4095, 16)); // 输出: "fff"<br>printl("二进制: " + 字符.数字转字符(15, 2)); // 输出: "1111"<br>printl("对象: " + 字符.数字转字符({a:1})); // 输出: ""<br>printl("错误测试: " + 字符.数字转字符()); // 输出: null<br><br><br>//字符.查找子字符<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 正向查找子字符串是否存在<br> * @param {string} str 被查找的字符串<br> * @param {string} searchValue 要查找的子字符串<br> * @param {number} 开始查找的位置<br> * @returns {boolean} 是否找到<br> */<br> 正向查找子字符: function(str, searchValue, start) {<br> try {<br> // 参数校验<br> if (typeof str !== 'string' && !(str instanceof java.lang.String)) return false;<br> if (typeof searchValue !== 'string' && !(searchValue instanceof java.lang.String)) return false;<br> <br> // 处理start参数<br> start = start !== undefined ? <br> Math.max(0, Math.min(start, str.length - 1)) : <br> 0;<br> <br> // 空字符串特殊处理<br> if (searchValue.length === 0) return start <= str.length;<br> <br> return str.indexOf(searchValue, start) !== -1;<br> } catch (e) {<br> printl("[正向查找错误] " + e.message);<br> return false;<br> }<br> }<br>};<br><br>// 新增测试代码<br>printl("=== 正向查找测试 ===");<br>printl("查找d: " + 字符.正向查找子字符('abcd','d'));// true<br>printl("查找t: " + 字符.正向查找子字符('abcd','t'));// false<br>printl("限定位置查找: " + 字符.正向查找子字符('abcd','a', 2)); // false<br>printl("空子串查找: " + 字符.正向查找子字符('abcd','')); // true<br>printl("错误测试: " + 字符.正向查找子字符(123,'a')); // false<br><br>//字符.查找子字符开头<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 检查字符串是否以指定子字符串结尾<br> * @param {string} str 被检查的字符串<br> * @param {string} searchValue 要查找的子字符串<br> * @param {number} 可选检查长度<br> * @returns {boolean} 是否以该子字符串结尾<br> */<br> 查找子字符结尾: function(str, searchValue, length) {<br> try {<br> // 参数校验<br> if (typeof str !== 'string' && !(str instanceof java.lang.String)) return false;<br> if (typeof searchValue !== 'string' && !(searchValue instanceof java.lang.String)) return false;<br> <br> // 处理length参数<br> const checkLength = length !== undefined ?<br> Math.min(Math.max(0, length), str.length) :<br> str.length;<br> <br> // 空字符串特殊处理<br> if (searchValue.length === 0) return true;<br> <br> // 计算起始位置<br> const startPos = Math.max(0, checkLength - searchValue.length);<br> <br> // 实际检查<br> return str.substr(startPos, searchValue.length) === searchValue;<br> } catch (e) {<br> printl("[查找结尾错误] " + e.message);<br> return false;<br> }<br> }<br>};<br><br>// 新增测试代码<br>printl("=== 查找结尾测试 ===");<br>printl("正确结尾: " + 字符.查找子字符结尾('abcd','d'));// true<br>printl("错误结尾: " + 字符.查找子字符结尾('abcd','a'));// false<br>printl("限定长度: " + 字符.查找子字符结尾('abcd','cd', 3)); // true<br>printl("空子串: " + 字符.查找子字符结尾('abcd','')); // true<br>printl("错误测试: " + 字符.查找子字符结尾(123,'d')); // false<br><br>//字符.正向截取<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 正向截取字符串<br> * @param {string} str 输入字符串<br> * @param {number} start 起始位置(非负整数)<br> * @param {number} 结束位置(可选)<br> * @returns {string|null} 截取的子串或null(错误时)<br> */<br> 正向截取: function(str, start, end) {<br> try {<br> // 参数校验<br> if (typeof str !== 'string' && !(str instanceof java.lang.String)) return null;<br> if (typeof start !== 'number' || start < 0) return null;<br> <br> // 处理end参数<br> const len = str.length;<br> const endPos = end !== undefined ? <br> Math.min(Math.max(0, end), len) :<br> len;<br> <br> // 边界检查<br> if (start >= endPos) return '';<br> <br> return str.substring(start, endPos);<br> } catch (e) {<br> printl("[正向截取错误] " + e.message);<br> return null;<br> }<br> }<br>};<br><br>// 新增测试代码<br>printl("=== 正向截取测试 ===");<br>printl("基本截取: " + 字符.正向截取('abcd', 2)); // 输出: "cd"<br>printl("范围截取: " + 字符.正向截取('abcd', 2, 3));// 输出: "c"<br>printl("空截取: " + 字符.正向截取('abcd', 2, 2)); // 输出: ""<br>printl("错误测试1: " + 字符.正向截取('abcd', -1)); // 输出: null<br>printl("错误测试2: " + 字符.正向截取(123, 1)); // 输出: null<br><br>//字符.正向查找子字符<br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 正向查找子字符串位置<br> * @param {string} str 被查找的字符串<br> * @param {string} searchValue 要查找的子字符串<br> * @param {number} 可选,开始查找的位置<br> * @returns {number} 子字符串位置(从0开始),未找到返回-1<br> */<br> 正向查找子字符: function(str, searchValue, start) {<br> try {<br> // 参数校验<br> if (typeof str !== 'string' && !(str instanceof java.lang.String)) return -1;<br> if (typeof searchValue !== 'string' && !(searchValue instanceof java.lang.String)) return -1;<br> <br> // 处理start参数<br> const len = str.length;<br> start = start !== undefined ? <br> Math.max(0, Math.min(start, len - 1)) : <br> 0;<br> <br> // 空字符串特殊处理<br> if (searchValue.length === 0) return start <= len ? start : -1;<br> <br> // 使用原生indexOf实现<br> const pos = str.indexOf(searchValue, start);<br> return pos >= 0 ? pos : -1;<br> } catch (e) {<br> printl("[正向查找错误] " + e.message);<br> return -1;<br> }<br> }<br>};<br><br>// 新增测试代码<br>printl("=== 正向查找测试 ===");<br>printl("查找d: " + 字符.正向查找子字符('abcd','d'));// 输出: 3<br>printl("查找t: " + 字符.正向查找子字符('abcd','t'));// 输出: -1<br>printl("限定位置查找: " + 字符.正向查找子字符('abcd','a', 2)); // 输出: -1<br>printl("空子串查找: " + 字符.正向查找子字符('abcd','')); // 输出: 0<br>printl("错误测试: " + 字符.正向查找子字符(123,'a')); // 输出: -1<br><br>// 字符.连接字符<br><br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 连接多个参数为一串字符串<br> * @param {...*} args 要连接的参数<br> * @returns {string|null} 连接后的字符串或null(错误时)<br> */<br> 连接字符: function() {<br> try {<br> var result = '';<br> for (var i = 0; i < arguments.length; i++) {<br> var arg = arguments;<br> if (arg == null) continue;<br> <br> if (typeof arg === 'object' && arg.toString) {<br> result += arg.toString();<br> } else {<br> result += String(arg);<br> }<br> }<br> return result || null;<br> } catch (e) {<br> printl("[连接字符错误] " + e.message);<br> return null;<br> }<br> }<br>};<br><br>// 新增测试代码<br>printl("=== 连接字符测试 ===");<br>printl("基本连接: " + 字符.连接字符(10,30,'abcd','蜂群课堂',false)); // "1030abcd蜂群课堂false"<br>printl("混合类型: " + 字符.连接字符({a:1}, , true)); // "1,2true"<br>printl("空参数: " + 字符.连接字符()); // null<br>printl("包含null: " + 字符.连接字符('a', null, 'b')); // "ab"<br><br>//字符.长度截取<br><br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 按长度截取字符串<br> * @param {string} str 输入字符串<br> * @param {number} start 起始位置(支持负数)<br> * @param {number} 截取长度<br> * @returns {string|null} 截取的子串或null(错误时)<br> */<br> 长度截取: function(str, start, length) {<br> try {<br> // 参数校验<br> if (typeof str !== 'string' && !(str instanceof java.lang.String)) return null;<br> if (typeof start !== 'number') return null;<br> <br> // 处理负数起始位置<br> const len = str.length;<br> let startPos = start < 0 ? <br> Math.max(0, len + start) : <br> Math.min(start, len);<br> <br> // 处理length参数<br> const endPos = length !== undefined ?<br> Math.min(startPos + Math.max(0, length), len) :<br> len;<br> <br> return str.substring(startPos, endPos);<br> } catch (e) {<br> printl("[长度截取错误] " + e.message);<br> return null;<br> }<br> }<br>};<br><br>// 新增测试代码<br>printl("=== 长度截取测试 ===");<br>printl("基本截取: " + 字符.长度截取('abcd', 2)); // "cd"<br>printl("限定长度: " + 字符.长度截取('abcd', 2, 1)); // "c"<br>printl("负数起始: " + 字符.长度截取('abcd', -2)); // "cd"<br>printl("超范围截取: " + 字符.长度截取('abcd', 1, 10)); // "bcd"<br>printl("错误测试: " + 字符.长度截取(123, 1)); // null<br><br>//字符.随机字母<br><br><br>/**<br> * 字符串工具模块 - 完整版<br> * 适用:ES5系统安卓 JavaScript引擎Rhino<br> * 最后更新:2025-04-02<br> */<br><br>var 字符 = {<br> // 原有方法保持不变...<br><br> /**<br> * 生成随机字母字符串<br> * @param {number} 生成位数<br> * @returns {string|null} 随机字母字符串或null(错误时)<br> */<br> 随机字母: function(digit) {<br> try {<br> // 参数处理<br> digit = digit !== undefined ? <br> Math.max(1, Math.min(digit, 100)) : <br> 1;<br> <br> // 生成随机字母<br> var result = '';<br> var letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';<br> for (var i = 0; i < digit; i++) {<br> result += letters.charAt(Math.floor(Math.random() * letters.length));<br> }<br> return result;<br> } catch (e) {<br> printl("[随机字母错误] " + e.message);<br> return null;<br> }<br> }<br>};<br><br>// 新增测试代码<br>printl("=== 随机字母测试 ===");<br>printl("2位随机: " + 字符.随机字母(2)); // 如 "Ab"<br>printl("10位随机: " + 字符.随机字母(10)); // 如 "XkLpQrStUv"<br>printl("默认1位: " + 字符.随机字母()); // 如 "Z"<br>printl("错误测试: " + 字符.随机字母(-1)); // null<br><br><br><br><br><br><br><br></blockquote></div><br></span></div><h3 id="tdjKI" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">1. 分割字符</span></h3><pre data-language="plain" id="IH49I" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>分割字符: function(str, divide)</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="uf8a64ddb" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:按指定分隔符分割字符串</span></li><li id="u95b7bbcf" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">特点</span><span class="ne-text">:</span></li></ul><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="ud0eec312" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">支持空分隔符(逐字符分割)</span></li><li id="uace2827d" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">严格的参数类型检查</span></li><li id="u72099ce4" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">完整的错误处理</span></li></ul></ul><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="ube04bb4c" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">测试用例</span><span class="ne-text">:</span></li></ul><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="u6828a0c7" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">字符.分割字符('a,b,c', ',')</span></code><span class="ne-text"> </span><span class="ne-text">→</span><span class="ne-text"> </span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">["a","b","c"]</span></code></li><li id="ub435e22b" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">字符.分割字符('abc', '')</span></code><span class="ne-text"> </span><span class="ne-text">→</span><span class="ne-text"> </span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">["a","b","c"]</span></code></li></ul></ul><h3 id="brpSC" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">2. 删全部空格</span></h3><pre data-language="javascript" id="QjiWg" class="ne-codeblock language-javascript" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
删全部空格: function(str)</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="udf83cb26" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:删除所有空格(包括全角空格)</span></li><li id="u24dd3746" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">实现</span><span class="ne-text">:</span></li></ul><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="u7b89f335" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">使用正则表达式</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">/[\s ]+/g</span></code></li><li id="ua84bb58c" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">支持Java字符串对象</span></li></ul></ul><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="ud9fdf7fb" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">测试用例</span><span class="ne-text">:</span></li></ul><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="ucb79c422" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">字符.删全部空格(' a b cd ')</span></code><span class="ne-text"> </span><span class="ne-text">→</span><span class="ne-text"> </span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">"abcd"</span></code></li></ul></ul><h3 id="DDvBW" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">3. 删头尾空格</span></h3><pre data-language="plain" id="xBTSN" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
删头尾空格: function(str)</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="u3eeb92fe" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:仅删除首尾空格</span></li><li id="u67bb92ec" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">实现</span><span class="ne-text">:</span></li></ul><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="uf0a94816" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">正则表达式</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">/^[\s ]+|[\s ]+$/g</span></code></li><li id="uc34af88f" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">保留字符串中间空格</span></li></ul></ul><h3 id="pKbIk" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">4. 反向截取</span></h3><pre data-language="plain" id="cQJro" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
反向截取: function(str, start, end)</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="u2469f89d" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:支持负数的反向截取</span></li><li id="u6e2df3fe" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">特点</span><span class="ne-text">:</span></li></ul><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="uffceb4f6" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">自动处理负索引</span></li><li id="u97deb83f" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">智能位置交换(当start>end时)</span></li></ul></ul><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="uf4b3e0e8" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">测试用例</span><span class="ne-text">:</span></li></ul><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="uedd77174" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">字符.反向截取('abcd', -1)</span></code><span class="ne-text"> </span><span class="ne-text">→</span><span class="ne-text"> </span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">"d"</span></code></li><li id="u64104c04" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">字符.反向截取('abcd', -1, -4)</span></code><span class="ne-text"> </span><span class="ne-text">→</span><span class="ne-text"> </span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">"dcba"</span></code></li></ul></ul><h3 id="lQZUg" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">5. 反向查找子字符</span></h3><pre data-language="plain" id="Z3Kan" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
反向查找子字符: function(str, searchValue, fromIndex)</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="u7f2c0160" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:从后向前查找子串</span></li><li id="u3a8d2099" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">实现</span><span class="ne-text">:</span></li></ul><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="uce6f0001" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">手动实现的查找算法</span></li><li id="u1b8d5dde" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">支持负数的起始位置</span></li></ul></ul><h3 id="mmomQ" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">6. 取下标字符</span></h3><pre data-language="plain" id="cvNRo" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
取下标字符: function(str, index)</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="u281d5001" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:安全获取指定位置字符</span></li><li id="ufa0c0bed" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">特点</span><span class="ne-text">:</span></li></ul><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="u88927ac8" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">支持负索引</span></li><li id="uadbd106b" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">严格的边界检查</span></li></ul></ul><h3 id="F0cNU" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">7. 取长度</span></h3><pre data-language="plain" id="KiYcW" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
取长度: function(str)</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="ua034386d" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:计算字节长度(中文算2字节)</span></li><li id="u4f15a967" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">实现</span><span class="ne-text">:通过字符编码判断字节数</span></li></ul><h3 id="bwlvx" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">8. 复制字符</span></h3><pre data-language="plain" id="VxMXt" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
复制字符: function(str, count)</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="ucee9b7a8" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:字符串重复复制</span></li><li id="u7955470a" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">默认值</span><span class="ne-text">:count默认为1</span></li></ul><h3 id="Evuv1" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">9. 字母大小写转换</span></h3><pre data-language="plain" id="ZQDh2" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
字母转大写: function(str)
字母转小写: function(str)</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="ufe3f0609" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">实现</span><span class="ne-text">:通过ASCII码转换</span></li><li id="ud498d229" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">特点</span><span class="ne-text">:非字母字符保持不变</span></li></ul><h3 id="neqFB" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">10. 数字转字符</span></h3><pre data-language="plain" id="pPPAQ" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
数字转字符: function(data, radix)</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="ubd906c9d" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:支持多进制转换</span></li><li id="u4f3327be" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">支持</span><span class="ne-text">:2-36进制</span></li></ul><h3 id="CQgon" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">11. 正向查找子字符</span></h3><pre data-language="plain" id="Ppa6B" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
正向查找子字符: function(str, searchValue, start)</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="ue22b2a0d" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:改进版的正向查找</span></li><li id="u7966435a" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">优化</span><span class="ne-text">:更好的参数处理</span></li></ul><h3 id="zVKq1" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">12. 查找子字符结尾</span></h3><pre data-language="plain" id="mLTKi" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
查找子字符结尾: function(str, searchValue, length)</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="u182518dc" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:检查字符串结尾</span></li><li id="u41c8c4ce" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">特点</span><span class="ne-text">:可指定检查长度</span></li></ul><h3 id="vI5tI" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">13. 连接字符</span></h3><pre data-language="plain" id="C4z9D" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
连接字符: function()</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="u79a48c97" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:多参数连接</span></li><li id="u4a78daae" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">特点</span><span class="ne-text">:自动跳过null/undefined</span></li></ul><h3 id="QuS4o" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">14. 长度截取</span></h3><pre data-language="plain" id="ZboMI" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
长度截取: function(str, start, length)</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="u57aab766" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:按长度而非位置截取</span></li><li id="u0cd7ae93" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">支持</span><span class="ne-text">:负起始位置</span></li></ul><h3 id="kqZcP" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">15. 随机字母</span></h3><pre data-language="plain" id="eDQda" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
随机字母: function(digit)</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="u4e5265e5" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">功能</span><span class="ne-text">:生成随机字母串</span></li><li id="u2f6c07f6" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">范围</span><span class="ne-text">:a-zA-Z</span></li><li id="ua4c5b26a" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">限制</span><span class="ne-text">:最大100位</span></li></ul><h3 id="A10yZ" style="margin-top: 16px; margin-bottom: 5px; font-size: 1em; line-height: 28px;"><span class="ne-text">整体特点</span></h3><ol class="ne-ol" style="padding-left: 23px;"><li id="u5c3e8ed7" data-lake-index-type="0"><span class="ne-text">兼容性</span><span class="ne-text">:专为Rhino引擎优化</span></li><li id="ub7d8cf5b" data-lake-index-type="0"><span class="ne-text">健壮性</span><span class="ne-text">:所有方法都有:</span></li></ol><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="ub9b35974" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">参数类型检查</span></li><li id="uf47a2cc0" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">错误处理</span></li><li id="uf288bb50" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">边界条件处理</span></li></ul></ul><ol start="3" class="ne-ol" style="padding-left: 23px;"><li id="uad6051f2" data-lake-index-type="0"><span class="ne-text">一致性</span><span class="ne-text">:统一返回null表示错误</span></li><li id="ub8855275" data-lake-index-type="0"><span class="ne-text">实用性:每个方法都有完整测试用例</span></li></ol><p></p>
页:
[1]