Es gibt drei Möglichkeiten, den Wert an einer bestimmten Position in einer JavaScript-Zeichenfolge zu ändern: Verwenden Sie den Zeichencode, um den Zeichencode des neuen Zeichens abzurufen, und verwenden Sie ihn dann, um den Wert an der angegebenen Position in der Zeichenfolge zu ersetzen. Verwenden Sie die Methode splice(), um Zeichen an bestimmten Positionen in einer Zeichenfolge zu ersetzen. Konvertieren Sie für Byte-Strings die Zeichenfolge in ein Uint16Array, ändern Sie die entsprechenden Positionen und konvertieren Sie dann das geänderte Uint16Array in eine Zeichenfolge.
So ändern Sie den Wert an einer bestimmten Position in einer JavaScript-Zeichenfolge
Methode 1: Verwenden Sie Zeichencodes
Um den Wert an einer bestimmten Position in einer Zeichenfolge zu ändern, können Sie Zeichencodes verwenden . Ein Zeichencode ist eine Zahl, die den entsprechenden Wert eines Zeichens im Unicode-Zeichensatz darstellt.
<code class="js">const str = "Hello"; const newCharacter = "W"; const newCharCode = newCharacter.charCodeAt(0); // 获取新字符的字符代码 str[2] = String.fromCharCode(newCharCode); // 用新字符代码更改字符串中指定位置的值 console.log(str); // 输出: "Hewllo"</code>
Methode 2: Verwenden Sie die splice()-Methode
Sie können auch die splice()
-Methode verwenden, um Zeichen an bestimmten Positionen in der Zeichenfolge zu ersetzen.
<code class="js">const str = "Hello"; const replacementCharacter = "W"; const index = 2; str.splice(index, 1, replacementCharacter); // 用新字符替换指定位置的字符 console.log(str); // 输出: "Hewllo"</code>
Bytes ändern
Die Bytes von Zeichen in einer Zeichenfolge können nicht direkt geändert werden, da JavaScript-Zeichenfolgen UTF-16-codiert sind und jedes Zeichen durch zwei Bytes dargestellt wird. Um die Bytes eines Zeichens zu ändern, führen Sie die folgenden Schritte aus:
<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>
Das obige ist der detaillierte Inhalt vonSo ändern Sie die Größe und Bytes eines bestimmten Bits einer Zeichenfolge in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!