为什么这个子串不能用中文?

时间:2017-11-20 15:39:13

标签: javascript jquery substring chinese-locale

为什么这个子串不能用中文? 我得到了其他语言的正确结果,但在中文中我得到一个空字符串。

    countryID = "奥地利(销售超过3万5千欧元)";
    countryID.substring(0, countryID.indexOf('(') - 1);

    countryID = "Austria (Sales > €35,000)";
    countryID.substring(0, countryID.indexOf('(') - 1);

2 个答案:

答案 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);