怎么获取字符串中的第一个中文前的字符?
午休过后,网易云放起,耳机带起,茶水泡起……某不知名的十八线小城市的程序媛,才思泉涌般地正啃哧啃哧重构优化代码。突然微信消息一阵刷屏,发现小学弟有问题要和我探讨,应前端小学弟的邀请,我又开始营业啦!(完善中……)
话不多啥,先列出问题:
Q: 如何获取字符串中的第一个中文之前的内容?
# 例如:let str = \'abcd1234efgC123陈陈cbjrcbhjf,.\'
# 想要得到 \'abcd1234efgC123\',该怎么办呢?
let str = \'abcd1234efgC123陈陈cbjrcbhjf,.\';
let value = str.match(/^[^\u4e00-\u9fa5]+/g, \'\');
console.log(value); # [abcd1234efgC123]
衍生问题1: 如何获取字符串中的第一个中文及其以后的字符?
# 例如:let str = \'abcd1234efgC123陈陈cbjrcbhjf,.\'
# 想要得到 \'陈陈cbjrcbhjf,.\',该怎么办呢?
let str = \'abcd1234efgC123陈陈cbjrcbhjf,.\';
let value = str.replace(/^[^\u4e00-\u9fa5]+/g, \'\');
console.log(value); # \'陈陈cbjrcbhjf,.\'
衍生问题2: 如何获取字符串中的第一个中文?
# 例如:let str = \'abcd1234efgC123陈不多cbj不多呀rcbhjf,.\'
# 想要得到 第一个中文,该怎么办呢?
let str = \'abcd1234efgC123陈陈cbjrcbhjf,.\';
let value = str.replace(/^[^\u4e00-\u9fa5]+/g, \'\')[0];
console.log(value); # \'陈\'
# 想要得到 第一个中文在字符中的位置,该怎么办呢?
let str = \'abcd1234efgC123陈陈cbjrcbhjf,.\';
let value = str.replace(/^[^\u4e00-\u9fa5]+/g, \'\')[0];
let index = str.indexOf(value);
console.log(index); # 15
版权声明:本文为VeraYao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。