434. JAVA字符串中的单词数

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。

请注意,你可以假定字符串里不包括任何不可打印的字符。

示例:

输入: "Hello, my name is John"
输出: 5
解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词

链接:https://leetcode-cn.com/problems/number-of-segments-in-a-string

思路:使用String API中的类: trim(),split();

首先要考虑边界情况,split()函数,假如s=“ abc dada ”,字符串s有前导空格,那么分割的字符串数组的长度就会多一个,因为字符串数组前面多了一个" ",所以要先用trim()去除空格

其次,假如String s2 = ", , , ,        a, eaefa"; 不能用split(“ ”),要用正则表达式为“\\s+”规定以一个或者多个空格为规则切割split("\\s+");

 public static int countSegments(String s) {
         String str =s.trim();
         if(str.length()==0) return 0 ;
         return str.split("\\s+").length;//\\s表示   空格,回车,换行等空白符,+号表示一个或多个的意思,所以...
     }

原文地址:https://www.cnblogs.com/cocobear9/p/12708189.html

时间: 2024-11-05 20:39:00

434. JAVA字符串中的单词数的相关文章

leetcode 434. 字符串中的单词数(Number of Segments in a String)

目录 题目描述: 示例: 解法: 题目描述: 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符. 请注意,你可以假定字符串里不包括任何不可打印的字符. 示例: 输入: "Hello, my name is John" 输出: 5 解法: class Solution { public: int countSegments(string s) { int res = 0; int sz = s.size(); int i = 0, j = 0; while(i < sz

Leecode刷题之旅-C语言/python-434 字符串中的单词数

/* * @lc app=leetcode.cn id=434 lang=c * * [434] 字符串中的单词数 * * https://leetcode-cn.com/problems/number-of-segments-in-a-string/description/ * * algorithms * Easy (29.13%) * Total Accepted: 4.2K * Total Submissions: 14.2K * Testcase Example: '"Hello, m

【嘎】字符串-字符串中的单词数

题目: 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符. 请注意,你可以假定字符串里不包括任何不可打印的字符. 示例: 输入: "Hello, my name is John"输出: 5解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词. 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/number-of-segments-in-a-string 一开始用了spli

编译器DIY之———统计英文文本中的单词数,字符数和行数

咳咳,这一章节应该是连载编译器的DIY的,可是在做DIY之前先用flex 来练练手,对于后面的理解有帮助作用. 在word 中我经常看到有一个单词统计的功能,那么是怎么来实现的了,当然第一个念头就是遍历整个文本依据换行和空格对字符串进行分析,那么这是可行的.可是能不能简单点了,其实对文本做单词分析,大家都知道怎么做,难得地方可能就是代码的实现了,那么现在如果使用正则表达式来实现的话,那么一切问题就Over 了. 环境:ubuntu(当然装了flex的windows和mac也可以) 原码: %{

Java设计模式中的单例设计

/** * 单例设计模式 * 应用场合:只需要一个对象的 * 作用:保证整个应用程序中某个实例有且只有一个 * 类型有:饿汉模式.懒汉模式 * 下面的例子是一个饿汉模式的例子 */ class SingleDemo { // 1.将构造方法私有化,不允许外部直接创建使用 private SingleDemo() {} // 2.创建类的唯一实例,使用private static修饰 private static SingleDemo instance = new SingleDemo(); //

JAVA字符串中的转义字符 &quot; \ &quot;

在java字符串中如果出现斜杠,1.当成转义字符 " \ " 时,后面必须接八进制数字进行ASCII转义输出成其它字符,2.当成字符串斜杠直接输出时,必须用双斜杠 "\" 转义为单斜杠 ASCII参考八进制表:https://baike.baidu.com/item/ASCII/309296?fr=aladdin JAVA中比较特别的一点是:str.split("sep", limit)函数其第1个参数seperator分隔符字符串是要被正则解析

【Simple Java】Java字符串中常见的10个问题

下面是Java中10个最常见的关于字符串的问题. 怎样比较字符串?使用==还是equals() 简单的说,“==”用于判断引用是否相等,equals()用于判断值是否相等.除非你要比较两个字符串是否是同一个对象,否则你应该使用equals()方法.如果你知道字符串驻留的概念会更好. 对于敏感信息优先使用字符数组而不是字符串 字符串是不可变的,意味着一旦被创建,他们就会一直存在直到垃圾回收器回收它们.然而对于一个数组来说,你可以明确的改变它们的元素.使用这种方法,敏感信息(如密码)就不会长期存在于

Java字符串中常用字符占用字节数

java中一个char型的数据(也就是一个字符)占两个字节.而Java中常用的字符包括数字.英文字母.英文符号.中文汉字.中文符号等,若在字符串中包含里面的多种字符,它们是否都占两个字符呢?答案是否定的. public class CharBytes { public static void main(String[] args) { String s1 = "1234567";// 7个数字字符 byte[] b1 = s1.getBytes(); System.out.printl

一个Java字符串中到底有多少个字符?

依照Java的文档, Java中的字符内部是以UTF-16编码方式表示的,最小值是 \u0000 (0),最大值是\uffff(65535), 也就是一个字符以2个字节来表示,难道Java最多只能表示 65535个字符? char: The char data type is a single 16-bit Unicode character. It has a minimum value of '\u0000' (or 0) and a maximum value of '\uffff' (o