Maison > Article > interface Web > Comment changer la taille et les octets d'un certain bit d'une chaîne en js
Il existe trois façons de modifier la valeur à une position spécifique dans une chaîne JavaScript : utilisez le code de caractère pour obtenir le code de caractère du nouveau caractère, puis utilisez-le pour remplacer la valeur à la position spécifiée dans la chaîne. Utilisez la méthode splice() pour remplacer les caractères aux positions spécifiées dans une chaîne. Pour les chaînes d'octets, convertissez la chaîne en Uint16Array, modifiez les positions correspondantes, puis convertissez le Uint16Array modifié en chaîne.
Comment modifier la valeur à une position spécifique dans une chaîne JavaScript
Méthode 1 : Utiliser des codes de caractères
Pour modifier la valeur à une position spécifique dans une chaîne, vous pouvez utiliser des codes de caractères . Un code de caractère est un nombre qui représente la valeur correspondante d'un caractère dans le jeu de caractères Unicode.
<code class="js">const str = "Hello"; const newCharacter = "W"; const newCharCode = newCharacter.charCodeAt(0); // 获取新字符的字符代码 str[2] = String.fromCharCode(newCharCode); // 用新字符代码更改字符串中指定位置的值 console.log(str); // 输出: "Hewllo"</code>
Méthode 2 : Utilisez la méthode splice()
Vous pouvez également utiliser la méthode splice()
pour remplacer des caractères à des positions spécifiées dans la chaîne.
<code class="js">const str = "Hello"; const replacementCharacter = "W"; const index = 2; str.splice(index, 1, replacementCharacter); // 用新字符替换指定位置的字符 console.log(str); // 输出: "Hewllo"</code>
Modifier les octets
Les octets des caractères d'une chaîne ne peuvent pas être modifiés directement, car les chaînes JavaScript sont codées en UTF-16 et chaque caractère est représenté par deux octets. Pour modifier les octets d'un caractère, suivez les étapes suivantes :
<code class="js">const str = "Hello"; const charIndex = 2; // 修改第 3 个字符(索引从 0 开始) const newCharacter = "W"; const charCode = newCharacter.charCodeAt(0); // 将字符串转换成 Uint16Array const arr = new Uint16Array(str.length); for (let i = 0; i < str.length; i++) { arr[i] = str.charCodeAt(i); } // 修改 Uint16Array 中指定位置的值 arr[charIndex] = charCode; // 将 Uint16Array 转换成字符串 const newStr = String.fromCharCode(...arr); console.log(newStr); // 输出: "Hewllo"</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!