安卓脚本示例软件复杂字符串处理

329

主题

193

回帖

2142

积分

管理员

积分
2142
安卓脚本示例软件复杂字符串处理



1.png


2.png


3.png


  1. //交流QQ群: 711841924 (群一) / 528816639 (安卓内测群)

  2. /**
  3. * AIWROK 软件复杂字符串处理示例
  4. * 演示各种字符串方法和属性的实际应用
  5. */

  6. // ==================== 1. 基础字符串操作 ====================
  7. console.log("=== 基础字符串操作 ===");
  8. sleep.second(2);

  9. // 字符串声明和访问
  10. var fullName = "AIWROK Automation Platform";
  11. var version = "v2.5.0";
  12. console.log("平台名称: " + fullName);
  13. console.log("版本信息: " + version);
  14. console.log("第5个字符: " + fullName[4]); // 索引从0开始
  15. console.log("字符串长度: " + fullName.length);

  16. // 特殊字符处理
  17. var message = 'AIWROK\'s feature: "Auto-click"';
  18. var path = "C:\\Users\\Admin\\Desktop";
  19. var multiline = "Line 1\nLine 2\tTabbed";
  20. console.log("含特殊字符的消息: " + message);
  21. console.log("文件路径: " + path);
  22. console.log("多行文本: " + multiline);

  23. // ==================== 2. 字符串连接和格式化 ====================
  24. console.log("=== 字符串连接和格式化 ===");
  25. sleep.second(2);

  26. // concat方法
  27. var firstName = "张";
  28. var lastName = "三";
  29. var fullName2 = firstName.concat(" ", lastName);
  30. console.log("完整姓名: " + fullName2);

  31. // 模板字符串(如果环境支持)
  32. var deviceName = "小米手机";
  33. var batteryLevel = 85;
  34. var statusMsg = "设备: " + deviceName + ", 电量: " + batteryLevel + "%";
  35. console.log("设备状态: " + statusMsg);

  36. // ==================== 3. 字符串搜索和定位 ====================
  37. console.log("=== 字符串搜索和定位 ===");
  38. sleep.second(2);

  39. var logEntry = "[ERROR] 2026-04-28 14:30:25 - Connection timeout on device 192.168.1.100";

  40. // indexOf 查找首次出现位置
  41. var errorIndex = logEntry.indexOf("ERROR");
  42. var dateIndex = logEntry.indexOf("2026-04-28");
  43. console.log("ERROR位置: " + errorIndex);
  44. console.log("日期位置: " + dateIndex);

  45. // lastIndexOf 查找最后出现位置
  46. var ipPattern = "192.168.1.";
  47. var lastIpIndex = logEntry.lastIndexOf(ipPattern);
  48. console.log("IP地址模式最后出现位置: " + lastIpIndex);

  49. // search 使用正则表达式
  50. var hasTimeout = logEntry.search(/timeout/i) !== -1;
  51. console.log("是否包含timeout(不区分大小写): " + hasTimeout);

  52. // ==================== 4. 字符串提取和切片 ====================
  53. console.log("=== 字符串提取和切片 ===");
  54. sleep.second(2);

  55. var timestamp = "2026-04-28 14:30:25.123";

  56. // slice 提取子字符串
  57. var datePart = timestamp.slice(0, 10);
  58. var timePart = timestamp.slice(11, 19);
  59. console.log("日期部分: " + datePart);
  60. console.log("时间部分: " + timePart);

  61. // substring 提取指定范围
  62. var milliseconds = timestamp.substring(20);
  63. console.log("毫秒部分: " + milliseconds);

  64. // substr 从指定位置提取指定长度
  65. var year = timestamp.substr(0, 4);
  66. var month = timestamp.substr(5, 2);
  67. var day = timestamp.substr(8, 2);
  68. console.log("年: " + year + " 月: " + month + " 日: " + day);

  69. // ==================== 5. 字符串替换和处理 ====================
  70. console.log("=== 字符串替换和处理 ===");
  71. sleep.second(2);

  72. var configText = "device_name=TestPhone&ip_address=192.168.1.100&port=8080";

  73. // replace 替换特定内容
  74. var updatedConfig = configText.replace("TestPhone", "ProductionPhone");
  75. console.log("更新后的配置: " + updatedConfig);

  76. // 全局替换(使用正则表达式)
  77. var spacedText = "a b c d e f";
  78. var noSpaces = spacedText.replace(/\s/g, "");
  79. console.log("去除空格: " + noSpaces);

  80. // ==================== 6. 字符串分割和数组转换 ====================
  81. console.log("=== 字符串分割和数组转换 ===");
  82. sleep.second(2);

  83. var csvData = "name,age,city,occupation";
  84. var headers = csvData.split(",");
  85. console.log("CSV表头: " + headers.join(", "));

  86. var userData = "张三,25,北京,工程师";
  87. var userFields = userData.split(",");
  88. console.log("用户数据字段: " + userFields.join(", "));
  89. console.log("用户名: " + userFields[0]);
  90. console.log("年龄: " + userFields[1]);

  91. // 按不同分隔符分割
  92. var logParts = logEntry.split(" - ");
  93. console.log("日志分段: " + logParts.join(" | "));

  94. // ==================== 7. 大小写转换和本地化 ====================
  95. console.log("=== 大小写转换和本地化 ===");
  96. sleep.second(2);

  97. var mixedCase = "AiWrOk PlAtFoRm";
  98. console.log("原始文本: " + mixedCase);
  99. console.log("转小写: " + mixedCase.toLowerCase());
  100. console.log("转大写: " + mixedCase.toUpperCase());

  101. // 本地化比较(中文环境)
  102. var str1 = "apple";
  103. var str2 = "Apple";
  104. var comparison = str1.localeCompare(str2);
  105. console.log("localeCompare结果: " + comparison);

  106. // ==================== 8. Unicode 和字符编码 ====================
  107. console.log("=== Unicode 和字符编码 ===");
  108. sleep.second(2);

  109. var chineseText = "人工智能";
  110. console.log("中文字符串: " + chineseText);
  111. console.log("第一个字符的Unicode值: " + chineseText.charCodeAt(0));

  112. // fromCharCode 创建字符串
  113. var unicodeChars = String.fromCharCode(20154, 24037, 26234, 33021);
  114. console.log("从Unicode创建的字符串: " + unicodeChars);

  115. // charAt 获取指定位置字符
  116. console.log("第三个字符: " + chineseText.charAt(2));

  117. // ==================== 9. 字符串修剪和清理 ====================
  118. console.log("=== 字符串修剪和清理 ===");
  119. sleep.second(2);

  120. var dirtyInput = "   AIWROK Platform   \t\n";
  121. console.log("原始输入: '" + dirtyInput + "'");
  122. console.log("修剪后: '" + dirtyInput.trim() + "'");

  123. // 自定义清理函数
  124. function cleanString(str) {
  125.     return str.trim().replace(/\s+/g, ' '); // 去除首尾空格并合并多个空格
  126. }

  127. var messyText = "  This   has   many    spaces  ";
  128. console.log("清理前: '" + messyText + "'");
  129. console.log("清理后: '" + cleanString(messyText) + "'");

  130. // ==================== 10. 高级字符串处理应用 ====================
  131. console.log("=== 高级字符串处理应用 ===");
  132. sleep.second(2);

  133. // URL 参数解析
  134. function parseUrlParams(url) {
  135.     var params = {};
  136.     var queryString = url.split('?')[1];
  137.     if (queryString) {
  138.         var pairs = queryString.split('&');
  139.         for (var i = 0; i < pairs.length; i++) {
  140.             var pair = pairs[i].split('=');
  141.             params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');
  142.         }
  143.     }
  144.     return params;
  145. }

  146. var testUrl = "https://aiwrok.com/api?device=phone1&token=abc123&version=2.5";
  147. var urlParams = parseUrlParams(testUrl);
  148. console.log("URL参数解析: " + JSON.stringify(urlParams));

  149. // JSON 字符串处理(模拟)
  150. var jsonString = '{"name":"AIWROK","version":"2.5","features":["auto-click","ocr","hid"]}';
  151. console.log("JSON字符串: " + jsonString);

  152. // 简单的JSON解析(实际项目中应使用JSON.parse)
  153. function simpleJsonParse(str) {
  154.     // 这里仅作演示,实际应使用JSON.parse
  155.     console.log("注意: 实际项目中请使用 JSON.parse() 方法");
  156.     return { name: "AIWROK", version: "2.5", features: ["auto-click", "ocr", "hid"] };
  157. }

  158. var jsonObj = simpleJsonParse(jsonString);
  159. console.log("解析后的对象: " + JSON.stringify(jsonObj));

  160. // ==================== 11. 字符串验证和检查 ====================
  161. console.log("=== 字符串验证和检查 ===");
  162. sleep.second(2);

  163. // 邮箱验证(简单版)
  164. function isValidEmail(email) {
  165.     var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
  166.     return emailRegex.test(email);
  167. }

  168. var testEmails = [
  169.     "user@example.com",
  170.     "invalid.email",
  171.     "test@domain.co.cn"
  172. ];

  173. for (var i = 0; i < testEmails.length; i++) {
  174.     console.log(testEmails[i] + " 是有效邮箱吗? " + isValidEmail(testEmails[i]));
  175. }

  176. // 手机号验证(中国大陆)
  177. function isValidChinesePhone(phone) {
  178.     var phoneRegex = /^1[3-9]\d{9}$/;
  179.     return phoneRegex.test(phone);
  180. }

  181. var testPhones = ["13812345678", "12345678901", "19876543210"];
  182. for (var j = 0; j < testPhones.length; j++) {
  183.     console.log(testPhones[j] + " 是有效手机号吗? " + isValidChinesePhone(testPhones[j]));
  184. }

  185. // ==================== 12. 实用工具函数 ====================
  186. console.log("=== 实用工具函数 ===");
  187. sleep.second(2);

  188. // 生成随机字符串
  189. function generateRandomString(length) {
  190.     var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  191.     var result = '';
  192.     for (var i = 0; i < length; i++) {
  193.         result += chars.charAt(Math.floor(Math.random() * chars.length));
  194.     }
  195.     return result;
  196. }

  197. var randomId = generateRandomString(16);
  198. console.log("随机ID: " + randomId);

  199. // 字符串重复
  200. function repeatString(str, times) {
  201.     var result = '';
  202.     for (var k = 0; k < times; k++) {
  203.         result += str;
  204.     }
  205.     return result;
  206. }

  207. var separator = repeatString("-", 30);
  208. console.log("分隔线: " + separator);

  209. // 字符串填充
  210. function padString(str, length, char, direction) {
  211.     direction = direction || 'right'; // default to right padding
  212.     while (str.length < length) {
  213.         if (direction === 'left') {
  214.             str = char + str;
  215.         } else {
  216.             str = str + char;
  217.         }
  218.     }
  219.     return str;
  220. }

  221. var paddedNum = padString("123", 8, "0", "left");
  222. console.log("左填充数字: " + paddedNum);

  223. console.log("=== AIWROK 字符串处理示例完成 ===");
复制代码


举报 回复