|
|
安卓脚本示例软件复杂字符串处理
- //交流QQ群: 711841924 (群一) / 528816639 (安卓内测群)
- /**
- * AIWROK 软件复杂字符串处理示例
- * 演示各种字符串方法和属性的实际应用
- */
- // ==================== 1. 基础字符串操作 ====================
- console.log("=== 基础字符串操作 ===");
- sleep.second(2);
- // 字符串声明和访问
- var fullName = "AIWROK Automation Platform";
- var version = "v2.5.0";
- console.log("平台名称: " + fullName);
- console.log("版本信息: " + version);
- console.log("第5个字符: " + fullName[4]); // 索引从0开始
- console.log("字符串长度: " + fullName.length);
- // 特殊字符处理
- var message = 'AIWROK\'s feature: "Auto-click"';
- var path = "C:\\Users\\Admin\\Desktop";
- var multiline = "Line 1\nLine 2\tTabbed";
- console.log("含特殊字符的消息: " + message);
- console.log("文件路径: " + path);
- console.log("多行文本: " + multiline);
- // ==================== 2. 字符串连接和格式化 ====================
- console.log("=== 字符串连接和格式化 ===");
- sleep.second(2);
- // concat方法
- var firstName = "张";
- var lastName = "三";
- var fullName2 = firstName.concat(" ", lastName);
- console.log("完整姓名: " + fullName2);
- // 模板字符串(如果环境支持)
- var deviceName = "小米手机";
- var batteryLevel = 85;
- var statusMsg = "设备: " + deviceName + ", 电量: " + batteryLevel + "%";
- console.log("设备状态: " + statusMsg);
- // ==================== 3. 字符串搜索和定位 ====================
- console.log("=== 字符串搜索和定位 ===");
- sleep.second(2);
- var logEntry = "[ERROR] 2026-04-28 14:30:25 - Connection timeout on device 192.168.1.100";
- // indexOf 查找首次出现位置
- var errorIndex = logEntry.indexOf("ERROR");
- var dateIndex = logEntry.indexOf("2026-04-28");
- console.log("ERROR位置: " + errorIndex);
- console.log("日期位置: " + dateIndex);
- // lastIndexOf 查找最后出现位置
- var ipPattern = "192.168.1.";
- var lastIpIndex = logEntry.lastIndexOf(ipPattern);
- console.log("IP地址模式最后出现位置: " + lastIpIndex);
- // search 使用正则表达式
- var hasTimeout = logEntry.search(/timeout/i) !== -1;
- console.log("是否包含timeout(不区分大小写): " + hasTimeout);
- // ==================== 4. 字符串提取和切片 ====================
- console.log("=== 字符串提取和切片 ===");
- sleep.second(2);
- var timestamp = "2026-04-28 14:30:25.123";
- // slice 提取子字符串
- var datePart = timestamp.slice(0, 10);
- var timePart = timestamp.slice(11, 19);
- console.log("日期部分: " + datePart);
- console.log("时间部分: " + timePart);
- // substring 提取指定范围
- var milliseconds = timestamp.substring(20);
- console.log("毫秒部分: " + milliseconds);
- // substr 从指定位置提取指定长度
- var year = timestamp.substr(0, 4);
- var month = timestamp.substr(5, 2);
- var day = timestamp.substr(8, 2);
- console.log("年: " + year + " 月: " + month + " 日: " + day);
- // ==================== 5. 字符串替换和处理 ====================
- console.log("=== 字符串替换和处理 ===");
- sleep.second(2);
- var configText = "device_name=TestPhone&ip_address=192.168.1.100&port=8080";
- // replace 替换特定内容
- var updatedConfig = configText.replace("TestPhone", "ProductionPhone");
- console.log("更新后的配置: " + updatedConfig);
- // 全局替换(使用正则表达式)
- var spacedText = "a b c d e f";
- var noSpaces = spacedText.replace(/\s/g, "");
- console.log("去除空格: " + noSpaces);
- // ==================== 6. 字符串分割和数组转换 ====================
- console.log("=== 字符串分割和数组转换 ===");
- sleep.second(2);
- var csvData = "name,age,city,occupation";
- var headers = csvData.split(",");
- console.log("CSV表头: " + headers.join(", "));
- var userData = "张三,25,北京,工程师";
- var userFields = userData.split(",");
- console.log("用户数据字段: " + userFields.join(", "));
- console.log("用户名: " + userFields[0]);
- console.log("年龄: " + userFields[1]);
- // 按不同分隔符分割
- var logParts = logEntry.split(" - ");
- console.log("日志分段: " + logParts.join(" | "));
- // ==================== 7. 大小写转换和本地化 ====================
- console.log("=== 大小写转换和本地化 ===");
- sleep.second(2);
- var mixedCase = "AiWrOk PlAtFoRm";
- console.log("原始文本: " + mixedCase);
- console.log("转小写: " + mixedCase.toLowerCase());
- console.log("转大写: " + mixedCase.toUpperCase());
- // 本地化比较(中文环境)
- var str1 = "apple";
- var str2 = "Apple";
- var comparison = str1.localeCompare(str2);
- console.log("localeCompare结果: " + comparison);
- // ==================== 8. Unicode 和字符编码 ====================
- console.log("=== Unicode 和字符编码 ===");
- sleep.second(2);
- var chineseText = "人工智能";
- console.log("中文字符串: " + chineseText);
- console.log("第一个字符的Unicode值: " + chineseText.charCodeAt(0));
- // fromCharCode 创建字符串
- var unicodeChars = String.fromCharCode(20154, 24037, 26234, 33021);
- console.log("从Unicode创建的字符串: " + unicodeChars);
- // charAt 获取指定位置字符
- console.log("第三个字符: " + chineseText.charAt(2));
- // ==================== 9. 字符串修剪和清理 ====================
- console.log("=== 字符串修剪和清理 ===");
- sleep.second(2);
- var dirtyInput = " AIWROK Platform \t\n";
- console.log("原始输入: '" + dirtyInput + "'");
- console.log("修剪后: '" + dirtyInput.trim() + "'");
- // 自定义清理函数
- function cleanString(str) {
- return str.trim().replace(/\s+/g, ' '); // 去除首尾空格并合并多个空格
- }
- var messyText = " This has many spaces ";
- console.log("清理前: '" + messyText + "'");
- console.log("清理后: '" + cleanString(messyText) + "'");
- // ==================== 10. 高级字符串处理应用 ====================
- console.log("=== 高级字符串处理应用 ===");
- sleep.second(2);
- // URL 参数解析
- function parseUrlParams(url) {
- var params = {};
- var queryString = url.split('?')[1];
- if (queryString) {
- var pairs = queryString.split('&');
- for (var i = 0; i < pairs.length; i++) {
- var pair = pairs[i].split('=');
- params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');
- }
- }
- return params;
- }
- var testUrl = "https://aiwrok.com/api?device=phone1&token=abc123&version=2.5";
- var urlParams = parseUrlParams(testUrl);
- console.log("URL参数解析: " + JSON.stringify(urlParams));
- // JSON 字符串处理(模拟)
- var jsonString = '{"name":"AIWROK","version":"2.5","features":["auto-click","ocr","hid"]}';
- console.log("JSON字符串: " + jsonString);
- // 简单的JSON解析(实际项目中应使用JSON.parse)
- function simpleJsonParse(str) {
- // 这里仅作演示,实际应使用JSON.parse
- console.log("注意: 实际项目中请使用 JSON.parse() 方法");
- return { name: "AIWROK", version: "2.5", features: ["auto-click", "ocr", "hid"] };
- }
- var jsonObj = simpleJsonParse(jsonString);
- console.log("解析后的对象: " + JSON.stringify(jsonObj));
- // ==================== 11. 字符串验证和检查 ====================
- console.log("=== 字符串验证和检查 ===");
- sleep.second(2);
- // 邮箱验证(简单版)
- function isValidEmail(email) {
- var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
- return emailRegex.test(email);
- }
- var testEmails = [
- "user@example.com",
- "invalid.email",
- "test@domain.co.cn"
- ];
- for (var i = 0; i < testEmails.length; i++) {
- console.log(testEmails[i] + " 是有效邮箱吗? " + isValidEmail(testEmails[i]));
- }
- // 手机号验证(中国大陆)
- function isValidChinesePhone(phone) {
- var phoneRegex = /^1[3-9]\d{9}$/;
- return phoneRegex.test(phone);
- }
- var testPhones = ["13812345678", "12345678901", "19876543210"];
- for (var j = 0; j < testPhones.length; j++) {
- console.log(testPhones[j] + " 是有效手机号吗? " + isValidChinesePhone(testPhones[j]));
- }
- // ==================== 12. 实用工具函数 ====================
- console.log("=== 实用工具函数 ===");
- sleep.second(2);
- // 生成随机字符串
- function generateRandomString(length) {
- var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
- var result = '';
- for (var i = 0; i < length; i++) {
- result += chars.charAt(Math.floor(Math.random() * chars.length));
- }
- return result;
- }
- var randomId = generateRandomString(16);
- console.log("随机ID: " + randomId);
- // 字符串重复
- function repeatString(str, times) {
- var result = '';
- for (var k = 0; k < times; k++) {
- result += str;
- }
- return result;
- }
- var separator = repeatString("-", 30);
- console.log("分隔线: " + separator);
- // 字符串填充
- function padString(str, length, char, direction) {
- direction = direction || 'right'; // default to right padding
- while (str.length < length) {
- if (direction === 'left') {
- str = char + str;
- } else {
- str = str + char;
- }
- }
- return str;
- }
- var paddedNum = padString("123", 8, "0", "left");
- console.log("左填充数字: " + paddedNum);
- console.log("=== AIWROK 字符串处理示例完成 ===");
复制代码
|
|