午休过后,网易云放起,耳机带起,茶水泡起……某不知名的十八线小城市的程序媛,才思泉涌般地正啃哧啃哧重构优化代码。突然微信消息一阵刷屏,发现小学弟有问题要和我探讨,应前端小学弟的邀请,我又开始营业啦!(完善中……)

话不多啥,先列出问题:

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 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/VeraYao/p/14818647.html