添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

要求:去除句子句首句尾的空格,单词间的空格若连续出现多个,只保留一个

注释:两种方法实现了。第一种方法比较水,参照之前写的把句子中的空格转换为“%20”那道题,硬是调用自带的函数,能实现,但感觉略复杂化了,就不多说了

第二种方法,逐个读取字符串里的字符,逐个判断,简单易懂,先去除句首句尾空格,缩小范围,再在这个小范围里逐个判断,实现

#include <stdio.h>
#include <string>
#include <string.h>
#include <iostream>
using namespace std;
char* formatString1(char* sourceString){
	int length1 = strlen(sourceString);
	int length2 = 0;
	if(length1==0)
		return '\0';
	char space[]= "  "; 
	char final[256];
	char *p;
	int cnt=0;
	//句首处理
	p=sourceString;
	while(*p == ' ')
	strcpy(sourceString,p);
	length1 = strlen(sourceString);
	while(strstr(sourceString,space)!=NULL)
		p=strstr(sourceString,space);
		length2=strlen(p);
		memcpy(&final,sourceString,(length1-length2));
		final[(length1-length2)]='\0';
		while( *p == ' ')
			cnt++;//计空格数
		--p;//留一个空格
		strcat(final,p);
		length1=length1-(cnt+1);
		cnt=0;
		strcpy(sourceString,final);
	//句尾处理
	length1 = strlen(sourceString);
	p=&sourceString[length1-1];
	while(*p == ' ')
		cnt++;
	sourceString[length1-cnt]='\0';
	return sourceString;
char* formatString2(char* sourceString){
	int length=strlen(sourceString);
	if(length==0)
		return "";
	int start=0,end=length-1;
	while(sourceString[start] == ' ')//句首
		start++;
	while(sourceString[end] == ' ')//句尾
		end--;
	char str[256];
	int pos=0;
	for(int i=start;i<=end;i++)
		if(sourceString[i] != ' ')
			str[pos++]=sourceString[i];
		else if(sourceString[i] == ' ' && sourceString[i-1] == ' ')//多个空格
			str[pos++]=' ';
			while(sourceString[i] == ' ')
			i--;//while循环里还要加一次
		else if(sourceString[i] == ' ' && sourceString[i+1] != ' ')//单独一个空格
			str[pos++]=' ';
	str[pos]='\0';
	return str;
int main()
	char str[]= "   I love      meituan    ";
	char *p=formatString2(str);
	printf("%s//over\r\n",p);
                    要求:去除句子句首句尾的空格,单词间的空格若连续出现多个,只保留一个注释:两种方法实现了。第一种方法比较水,参照之前写的把句子中的空格转换为“%20”那道题,硬是调用自带的函数,能实现,但感觉略复杂化了,就不多说了第二种方法,逐个读取字符串里的字符,逐个判断,简单易懂,先去除句首句尾空格,缩小范围,再在这个小范围里逐个判断,实现#include #include #incl
  public String sortSentence(String s) {
        String v=new String();
        String[]  str=s.split(" ");//
        String[] cc=new String[str.length];
        for(int i=0;i<str.length;i++){
            char[] ch=str[i].toCharArray();
> 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用
空格分割, 单词之间只有一个空格,前后没有空格。
比如: (1) “hello xiao mi”-> “mi xiao hello”
输入描述:
> 输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)
输出描述:
> 对于每个测试示例,要求输出句子中单词反转后形成的句子
    hello xiao mi
				
例: 输入:hello world hello hello 输出:hello hello world hello a = input("请输入一串字符:") # 在字符串末尾加上空格 a=a+' ' # 确定a的长度 b = len(a) # 定义一个空的列表以备将截取的子字符串正序存入 c = [] d = 0 # 定义空字符串作为过渡,将子字符串暂时存入字符串中(方便书写) e=...
正常空一格写完后,用开始,替换功能:查找内容. 替换为. +空格。在审阅模式下就能看到所有的句号后面多了一个空格。完美 但是还要回去修改下FIG, etc. 之类的被误伤的特殊字符
java中的增删改查语句时,始终跑不通测试,折腾了半天才发现原来是sql语句拼写有问题,奇怪的是eclipse并没有提示; //一个单行查询,修改前 public Customer getOne(Integer id) { // TODO Auto-generated method stub String sql = “select id,name,addres
# Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;); # you may not use this file except in complianc... 修改jieba根目录下init.py 搜索re_han_default = re.compile("([\u4E00-\u9FD5a-zA-Z0-9+#&\._]+)", re.U) 改成re_han_default = re.compile("(.+)", re.U)... import java.io.*; public class Main{ public static void main(String[] args)throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); public class Test1 { public static void main(String[] ages) { Scanner scanner = new Scanner(System.in); //创建一个从键盘输入对象 String s = scanner.ne...
Java程序可以读取用户输入的单行英文句子,并可以处理包含英文字母、空格以及句点、问号和感叹号等标点符号的字符串。首先,我们可以使用Scanner类从控制台读取用户输入的字符串。代码如下: Scanner scanner = new Scanner(System.in); String sentence = scanner.nextLine(); 接着,我们可以使用正则表达式将句子拆分成单词。我们可以使用String类的split()方法,该方法接受一个正则表达式作为参数,并返回一个包含单词的字符串数组。代码如下: String[] words = sentence.split("[\\s,.?]+"); 在这个正则表达式中,我们使用了字符类 [...] 来匹配空格、句点、问号和感叹号,加号表示匹配多个连续的字符。 最后,我们可以遍历单词数组,并对单词进行处理。例如,可以计算单词的长度、计算句子中单词的数量、将单词转化为大写或小写等。代码如下: int wordCount = words.length; for (int i = 0; i < wordCount; i++) { String word = words[i]; int length = word.length(); String upper = word.toUpperCase(); String lower = word.toLowerCase(); // 对单词进行其他处理... 这些简单的代码片段提供了一个基本的框架来处理句子中的单词。当然,实际上我们可以做更多的事情,例如去除单词中的标点符号、计算句子的重复单词数等等。