当前位置: 首页 > news >正文

石家庄网站建设多少钱温州seo公司

石家庄网站建设多少钱,温州seo公司,网站改版意见,深圳外贸企业网站建设最后一个单词的长度 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s "Hello World&qu…

最后一个单词的长度

给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

示例 1:

输入:s = "Hello World"
输出:5
解释:最后一个单词是“World”,长度为 5。

示例 2:

输入:s = "   fly me   to   the moon  "
输出:4
解释:最后一个单词是“moon”,长度为 4。

示例 3:

输入:s = "luffy is still joyboy"
输出:6
解释:最后一个单词是长度为 6 的“joyboy”。

实现思路1:将字符串转成全为单词的字符串列表,然后直接返回最后一个单词的长度即可。

处理:将所给字符串,利用正则表达式进行匹配筛选,将空格去掉后 得到一个全为单词的字符串数组,然后返回最后一个单词的长度即可。

实现代码:

    public  int lengthOfLastWord(String s) {//正则表达式匹配去掉空格,得到单词数组String[] words = s.split("\\s+");//判断数组是否为空if (words.length == 0) {return 0;}//返回最后一个单词的长度return words[words.length - 1].length();//等价于  最后一个单词在数组的索引  int lastWordIndex=words.length-1;//       最后一个单词的长度  int lastWordLength=words[lastWordIndex].length();}
  • split: 这是Java String 类的一个方法,用于根据指定的分隔符将字符串分割成多个子字符串,并返回一个子字符串数组。
  • \\s+: 这是一个正则表达式,其中 \\s 匹配任何空白字符(包括空格、制表符、换行符等),而 + 表示匹配一个或多个前面的字符。因此,\\s+ 将匹配一个或多个连续的空白字符。

(正则表达式详解,在文章的后面进行补充,如果有不懂的可以看看后面的知识补充部分)

实现思路2:通过从后往前遍历,直接计算最后一个单词的长度。

实现步骤:

1.我们需要定义一个变量用于记录最后一个单词的起始索引。

2.去掉字符串前后的字符串(确保前后没有空格),然后从后往前开始遍历,记录当前索引,若是没有遇到空格,则更新用于记录的索引,遇到空格时,遍历使用break关键字跳出循环,说明最后一个单词已经遍历完。

3.返回最后一个单词的长度:字符串长度-起始索引

实现代码:

 public int lengthOfLastWord(String s) {// 如果字符串s为空或为null,返回0if(s.length() == 0 || s == null) {return 0;}// 去除字符串s两端的空白字符s = s.trim();// 初始化start变量,这将用于记录最后一个单词的起始索引int start = 0;// 从字符串的末尾开始向前遍历,直到遇到一个非空格字符for(int i = s.length() - 1; i >= 0; i--) {if(s.charAt(i) == ' ') {// 遇到空格,结束循环break;}// 更新start为当前非空格字符的索引start = i;}// 计算最后一个单词的长度,即字符串长度减去start// 由于start是在最后一个单词的第一个字符上,所以用字符串长度减去start// 得到最后一个单词的长度return s.length() - start;
}

charAt()String 类的一个方法,用于返回指定索引处的字符。

第二种思路实现简单,执行效率比第一种要高。

知识补充:

正则表达式

正则表达式(Regular Expression,简称Regex)是一种用于匹配字符串中字符组合的模式(Pattern)。它使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在编程语言和文本编辑器中,正则表达式通常用于搜索、替换、字符串分割等操作。

以下是一些基本的正则表达式元素和它们的含义:

  • .:匹配任意单个字符(除了换行符)。
  • ^:匹配输入字符串的开始位置。
  • $:匹配输入字符串的结束位置。
  • *:匹配前面的子表达式零次或多次。
  • +:匹配前面的子表达式一次或多次。
  • ?:匹配前面的子表达式零次或一次。
  • {n}:恰好匹配确定的 n 次数。
  • {n,}:至少匹配 n 次。
  • {n,m}:最少匹配 n 次且最多 m 次。
  • []:匹配方括号内的任意字符(字符集)。
  • |:逻辑或操作符,匹配选项或多个表达式中的一个。
  • \:转义特殊字符或表示特殊序列。
  • ():将多个表达式组合成一个子表达式,用于分组。

特殊序列的例子:

  • \d:匹配任意数字,等同于 [0-9]
  • \w:匹配任意字母数字字符,包括下划线,等同于 [A-Za-z0-9_]
  • \s:匹配任意的空白符(包括空格、制表符、换行符等)。

正则表达式在不同的编程语言和工具中语法可能略有不同,但大多数基本元素是通用的。例如,在Java中,你可以使用 java.util.regex 包中的类来处理正则表达式。在Python中,你可以使用 re 模块。

下面是一些正则表达式的使用示例:

  • 匹配一个电子邮件地址:[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+
  • 匹配一个URL:https?://[^\s/$.?#].[^\s]*
  • 匹配一个电话号码:(\+?\d{1,3})?[-. ]?\d{1,4}[-. ]?\d{1,4}[-. ]?\d{1,9}
  • 匹配一个日期格式(如:YYYY-MM-DD):\d{4}-\d{2}-\d{2}

正则表达式是文本处理的强大工具,但它们也可能相当复杂,特别是当涉及到复杂的模式匹配时。

http://www.ysxn.cn/news/1220.html

相关文章:

  • 网页搜索关键词快捷键长沙网络优化产品
  • 京东商城网站怎么做的自适应竞价排名机制
  • 网络正能量你懂我意思的搜索引擎优化缩写
  • 每个网站都有服务器吗十大经典事件营销案例
  • python做网站比php好品牌营销的概念
  • 给网站怎么做tag标签最有效的推广方法
  • 门户网站html模板下载口碑seo推广公司
  • asp做网站的缺点各种手艺培训班
  • 深圳如何搭建制作网站成都品牌推广
  • 网站开发基础培训产品推广广告
  • 电商网站建设规划独立站seo是什么
  • 建设信用卡银行积分商城网站软文营销的特点
  • 用wgert 做网站线上推广方案模板
  • dj网站模板免费下载中国十大网站有哪些
  • 重庆网站真实案例宁波seo公司哪家好
  • 南昌网站建设方案维护深圳网站建设三把火科技
  • 兰溪做网站广告推广平台代理
  • 深圳房地产网站建设青岛网页搜索排名提升
  • 企业网站手机端和pc端一个后台吗b2b网站推广优化
  • 如何做网站美工的淘宝seo优化是什么意思
  • 给甜品网站做seo市场调研方法有哪几种
  • 网站开发设计流程文档百度推广开户电话
  • 动态网站开发与全程实例pdf万网域名查询工具
  • 做电商需要哪些网站有哪些网站运营工作的基本内容
  • 秦皇岛网站制作服务谷歌chrome浏览器
  • 新媒体营销岗位招聘seo推广和百度推广的区别
  • 三丰云免费服务器seo综合查询接口
  • 平板python编程软件百色seo关键词优化公司
  • 珠海知名网站百度95099如何转人工
  • 西安专业做网站的公司有哪些网站推广方案策划书2000