怎么获取字符串中的第一个中文前的字符?
午休过后,网易云放起,耳机带起,茶水泡起......某不知名的十八线小城市的程序媛,才思泉涌般地正啃哧啃哧重构优化代码。突然微信消息一阵刷屏,发现小学弟有问题要和我探讨,应前端小学弟的邀请,我又开始营业啦!(完善中......)
话不多啥,先列出问题:
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
小小的天有大大的梦想