Javascript子字符串不能处理特殊字符



你好,我想使用下面的

sValue.substr(0,1000);

字符串 上的

<ul class='ulIndentRight'><li><b>Altissimo Guesthouse</b> </li><li> Luxury Room With Queen Bed Rtid 1 </li><li> Extra</li><li>person Charges May App Superior Room 1 Queen Bedlayout </li><li> Bedroom Internet </li><li> Free Wifi Entertainment </li><li> Plasma Tv</li><li> Satellite Channels</li><li> And Dvd Playerfood </li><li> Drink </li><li> Refrigerator</li><li> Free Minibar Items</li><li> Coffee</li><li>tea Maker</li><li> And Free Bottled Waterbathroom </li><li> Private Bathroom</li><li> Bathtub Or Shower</li><li> Free Toiletries</li><li> And A Hair Dryerpractical </li><li> Safe</li><li> Desk</li><li> And Iron</li><li>ironing Board (on Request) Rollaway</li><li>extra Beds Available On Requestcomfort </li><li> Climate</li><li>controlled Air Conditioning And Daily Housekeepingnon</li><li>s

但是它一直返回1136个字符数

有什么想法如何得到只有1000个字符

感谢

这是HTML特殊字符

我认为最简单的方法是:

  1. 创建一个临时元素
  2. 你把你的字符串放在元素的HTML (innerHTML)
  3. 将textContent元素中的字符放入新字符串
  4. 你对这个字符串进行计数

let string = 
"<ul class='ulIndentRight'><li><b>Altissimo Guesthouse</b> </li><li> Luxury Room With Queen Bed Rtid 1 </li><li> Extra</li><li>person Charges May App Superior Room 1 Queen Bedlayout </li><li> Bedroom Internet </li><li> Free Wifi Entertainment </li><li> Plasma Tv</li><li> Satellite Channels</li><li> And Dvd Playerfood </li><li> Drink </li><li> Refrigerator</li><li> Free Minibar Items</li><li> Coffee</li><li>tea Maker</li><li> And Free Bottled Waterbathroom </li><li> Private Bathroom</li><li> Bathtub Or Shower</li><li> Free Toiletries</li><li> And A Hair Dryerpractical </li><li> Safe</li><li> Desk</li><li> And Iron</li><li>ironing Board (on Request) Rollaway</li><li>extra Beds Available On Requestcomfort </li><li> Climate</li><li>controlled Air Conditioning And Daily Housekeepingnon</li><li>s";

document.querySelector('.string').innerHTML = string;
let string_div = document.querySelector('.string').textContent;
charCount = Array.from(string_div).length;
document.querySelector('.count').innerHTML = charCount;
console.log(charCount);
<div class="string" style="display:none">
</div>
<div class="count">
</div>

1136是整个字符串的长度。

我怀疑您没有使用substr的返回值。

您将需要分配返回值并使用该值,因为substr不会修改原始值。

sValue.substr(0,1000);
// sValue.length => 1136
const newString = sValue.substr(0,1000);
// newString.length => 1000
let value = "Paste_whole_string_in_here"
console.log(value.substring(0,1000))

这对我来说很有用。

最新更新