首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript 動態截取字符串:split 方法輕鬆解析「行-列」坐標

     編輯:程式設計綜合問答

場景

12×12 表格,每個 <td> 的 id 格式為 "行-列",如 "0-9"、"10-12"。點擊單元格傳入 id,需解析出行號和列號。

最簡方案:String.split()

function parseCoord(idStr) {
    // 以連字符分割,自動處理一位數和兩位數
    const parts = idStr.split('-');
    if (parts.length === 2) {
        const row = parseInt(parts[0], 10);
        const col = parseInt(parts[1], 10);
        return { row, col };
    }
    throw new Error('Invalid id format: ' + idStr);
}

// 使用示例
const id = '10-12'; // 或 '0-9'
const { row, col } = parseCoord(id);
console.log(`Row: ${row}, Col: ${col}`); // Row: 10, Col: 12

為什麼不用 substring/indexOf?

  • split('-') 語義清晰,代碼極短,自動適配位數變化。
  • 性能上對短字符串完全夠用,無需優化。
  • 避免手動計算索引導致的邊界錯誤(如 "10-12" 中連字符位置是 2 而非 1)。

進階:正則驗證格式

const COORD_REGEX = /^(\d+)-(\d+)$/;
function parseCoordSafe(idStr) {
    const match = idStr.match(COORD_REGEX);
    if (match) {
        return { row: +match[1], col: +match[2] };
    }
    return null; // 或拋出異常
}

正則捕獲組同時實現驗證和提取,更健壯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved