为什么这个子串不能用中文? 我得到了其他语言的正确结果,但在中文中我得到一个空字符串。
countryID = "奥地利(销售超过3万5千欧元)";
countryID.substring(0, countryID.indexOf('(') - 1);
countryID = "Austria (Sales > €35,000)";
countryID.substring(0, countryID.indexOf('(') - 1);
答案 0 :(得分:4)
(
和中文(
是不同的unicode字符。您需要将.indexOf('(')
用于中文字符。
示例:
<div id='d1'></div>
<script>
var countryID = "奥地利(销售超过3万5千欧元)";
document.getElementById('d1').innerHTML=countryID.indexOf('(');
</script>
答案 1 :(得分:1)
因为'('不在countryID
,'('和'('是不同的字符,第一个是中式支架。
所以也许你可以使用:
countryID.substring(0, countryID.indexOf('(') - 1);