百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

多语言的字符串处理记录(多行字符串用途)

wptr33 2025-04-01 23:22 20 浏览

各个语言的字符串处理记录。

目的

日常中会用到很多语言:比如工作中常用java,python,javascript;家里常用go,python,rust;
偶尔也会折腾下c/c++。
汇总下各个语言的字符串处理,方便查找。
不管用什么语言开发,总是会遇到大量的字符串处理,比如字符串split,substring等等。

模板

获取字符串的第一个字母
获取字符串的第二和第三个字母
获取字符串的最后一个字母
字符串开头字母判断
字符串结尾字母判断
获取字符串长度
大小写转换
字符串转int,int转字符串
分割字符串
判断字符串是否包含

程序实现

java

public class JavaString {
  public static void main(String [] args){
    String str="Hello,World";
    //1.获取字符串的第一个字母
    String s = 	str.substring(0,1);
    System.out.println("1.获取字符串的第一个字母:"+s);	

    //2.获取字符串的第二和第三个字母
    s=str.substring(1,3);
    System.out.println("2.获取字符串的第二和第三个字母:"+s);

    //3.获取字符串的最后一个字母
    s=str.substring(str.length()-1);
    System.out.println("3.获取字符串的最后一个字母:"+s);

    //4.字符串开头字母判断
    if(str.startsWith("Hello")){
      System.out.println("4.字符串开头字母比较:以Hello开头");
    }

    //5.字符串结尾字母判断
    if(str.endsWith("World")){
      System.out.println("5.字符串结尾字母比较:以World结尾");
    }

    //6.获取字符串长度
    System.out.println("6.获取字符串长度:"+str.length());

    //7.大小写转换
    System.out.println("7.大小写转换:"+str.toUpperCase()
                       +","+str.toLowerCase());

    //8.字符串转int,int转字符串
    System.out.println("8.字符串转int,int转字符串:"
                       +Integer.parseInt("100")
                       +","+String.valueOf(100));

    //9.分割字符串
    String[] strs = str.split(",");
    System.out.println("9.分割字符串:"+"["+strs[0]+","+strs[1]+"]");

    //10.判断字符串是否包含
    if(str.contains("o,W")){
      System.out.println("10.分割字符串:包含o,W");
    }
  }
}

go

package main
import (
    "fmt"
    "strings"
    "strconv"
)
func main() {
	var str string = "Hello,World"
	//1.获取字符串的第一个字母
	fmt.Printf("1.获取字符串的第一个字母:%c\n", str[0])

	//2.获取字符串的第二和第三个字母
	fmt.Printf("2.获取字符串的第二和第三个字母:%s\n", str[1:3])

	//3.获取字符串的最后一个字母
	fmt.Printf("3.获取字符串的最后一个字母:%c\n", str[len(str)-1])

	//4.字符串开头字母判断
	if strings.HasPrefix(str,"Hello") {
		fmt.Printf("4.字符串开头字母比较:以Hello开头\n")
	}

	//5.字符串结尾字母判断
	if strings.HasSuffix(str,"World") {
		fmt.Printf("5.字符串结尾字母比较:以World结尾\n")
	}

	//6.获取字符串长度
	fmt.Printf("6.获取字符串长度:%d\n", len(str))

	//7.大小写转换
	fmt.Printf("7.大小写转换:%s,%s\n",strings.ToUpper(str)
             ,strings.ToLower(str))
	//8.字符串转int,int转字符串
	intStr, _ := strconv.Atoi("100")
	fmt.Printf("8.字符串转int,int转字符串:%d,%s\n"
             ,intStr,strconv.Itoa(100))
	//9.分割字符串
	var strs []string = strings.Split(str,",")
	fmt.Printf("9.分割字符串:[%s,%s]\n",strs[0],strs[1])
	//10.判断字符串是否包含
	if strings.Index(str,"o,W")!=-1 {
		fmt.Printf("10.分割字符串:包含o,W\n");
	}
}

python

#!/usr/bin/python
# -*- coding: utf-8 -*-
_str="Hello,World"

#1.获取字符串的第一个字母
print "1.获取字符串的第一个字母:"+_str[0]

#2.获取字符串的第二和第三个字母
print "2.获取字符串的第二和第三个字母:"+_str[1:3]

#3.获取字符串的最后一个字母
print "3.获取字符串的最后一个字母:"+_str[-1]

#4.字符串开头字母判断
if _str.startswith('Hello'):
	print "4.字符串开头字母比较:以Hello开头"

#5.字符串结尾字母判断
if _str.endswith('World'):
	print "5.字符串结尾字母比较:以World结尾"

#6.获取字符串长度
print "6.获取字符串长度:"+str(len(_str))

#7.大小写转换
print "7.大小写转换:"+_str.upper()+","+_str.lower()

#8.字符串转int,int转字符串
print "8.字符串转int,int转字符串:"+str(int("100"))+","+str(100)

#9.分割字符串
print "9.分割字符串:["+_str.split(',')[0]+","+_str.split(',')[1]+"]"

#10.判断字符串是否包含
if _str.find('o,W')!=-1:
	print "10.分割字符串:包含o,W"

cpp

#include 
#include 
#include 
#include 
#include 
using namespace std;
vector split(const string& src, const string sp) ;
int main() {
	string str("Hello,World");
	//1.获取字符串的第一个字母
	cout << "1.获取字符串的第一个字母:" + str.substr(0, 1) << endl;
	//2.获取字符串的第二和第三个字母
	cout << "2.获取字符串的第二和第三个字母:" + str.substr(1, 2) << endl;
	//3.获取字符串的最后一个字母
	cout << "3.获取字符串的最后一个字母:" + 
    str.substr(str.length() - 1, 1) << endl;
	//4.字符串开头字母判断
	if (str.find("Hello") == 0) {
		cout << "4.字符串开头字母比较:以Hello开头" << endl;
	}
	//5.字符串结尾字母判断
	string w("World");
	if (str.rfind(w) == str.length() - w.length()) {
		cout << "5.字符串结尾字母比较:以World结尾" << endl;
	}
	//6.获取字符串长度
	stringstream ss;
	ss << str.length();
	cout << "6.获取字符串长度:" + ss.str() << endl;
	//7.大小写转换
	transform(str.begin(), str.end(), str.begin(), ::toupper);
	cout << "7.大小写转换:" + str;
	transform(str.begin(), str.end(), str.begin(), ::tolower);
	cout << "," + str << endl 8.intint int num stringstream ss2100 ss2>> num;
	stringstream ss3;
	ss3 << num;
	cout << "8.字符串转int,int转字符串:" + 
    ss3.str() + "," + ss3.str() << endl;
	//9.分割字符串
	vector strs = ::split(str,string(","));
	cout << "9.分割字符串:[" + strs[0] +","+strs[1]<<"]"<<endl;
	//10.判断字符串是否包含
	str="Hello,World";
	if (str.find("o,W")!=-1) {
		cout << "10.分割字符串:包含o,W" << endl;
	}
	return 0;
}
vector split(const string& src, string sp) {
	vector strs;
	int sp_len = sp.size();
	int position = 0, index = -1;
	while (-1 != (index = src.find(sp, position))) {
		strs.push_back(src.substr(position, index - position));
		position = index + sp_len;
	}
	string lastStr = src.substr(position);
	if (!lastStr.empty())
		strs.push_back(lastStr);
	return strs;
}

php

<?php 
$_str="Hello,World";

//1.获取字符串的第一个字母
echo "1.获取字符串的第一个字母:".substr($_str,0,1)."
"; //2.获取字符串的第二和第三个字母 echo "2.获取字符串的第二和第三个字母:".substr($_str,1,2)."
"; //3.获取字符串的最后一个字母 echo "3.获取字符串的最后一个字母:".substr($_str,strlen($_str)-1,1)."
"; //4.字符串开头字母判断 if(strrpos($_str,"Hello")!==false && strrpos($_str,"Hello")==0){ echo "4.字符串开头字母比较:以Hello开头
"; } //5.字符串结尾字母判断 if(strrpos($_str,"World")!==false && strrpos($_str,"World")== strlen($_str)-5){ echo "5.字符串结尾字母比较:以World结尾
"; } //6.获取字符串长度 echo "6.获取字符串长度:".strlen($_str)."
"; //7.大小写转换 echo "7.大小写转换:".strtoupper($_str).",".strtolower($_str)."
"; //8.字符串转int,int转字符串 echo "8.字符串转int,int转字符串:".intval("100").",".((string)100)."
"; //9.分割字符串 $a = explode(',',$_str); echo "9.分割字符串:[".$_str."--->".$a[0]."]
"; //10.判断字符串是否包含 if(strrpos($_str,"o,W")!==false && strrpos($_str,"o,W")>=0){ echo "10.分割字符串:包含o,W
"; } ?>

相关推荐

什么是Java中的继承?如何实现继承?

什么是继承?...

Java 继承与多态:从基础到实战的深度解析

在面向对象编程(OOP)的三大支柱中,继承与多态是构建灵活、可复用代码的核心。无论是日常开发还是框架设计,这两个概念都扮演着至关重要的角色。本文将从基础概念出发,结合实例与图解,带你彻底搞懂Java...

Java基础教程:Java继承概述_java的继承

继承概述假如我们要定义如下类:学生类,老师类和工人类,分析如下。学生类属性:姓名,年龄行为:吃饭,睡觉老师类属性:姓名,年龄,薪水行为:吃饭,睡觉,教书班主任属性:姓名,年龄,薪水行为:吃饭,睡觉,管...

java4个技巧:从继承和覆盖,到最终的类和方法

日复一日,我们编写的大多数Java只使用了该语言全套功能的一小部分。我们实例化的每个流以及我们在实例变量前面加上的每个@Autowired注解都足以完成我们的大部分目标。然而,有些时候,我们必须求助于...

java:举例说明继承的概念_java继承的理解

在现实生活中,继承一般指的是子女继承父辈的财产。在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物,同理,...

从零开始构建一款开源的 Vibe Coding 产品 Week1Day4:业界调研之 Agent 横向对比

前情回顾前面两天我们重点调研了了一下Cursor的原理和Cursor中一个关键的工具edit_file的实现,但是其他CodingAgent也需要稍微摸一下底,看看有没有优秀之处,下...

学会这几个插件,让你的Notepad++使用起来更丝滑

搞程序开发的小伙伴相信对Notepad++都不会陌生,是一个占用空间少、打开启动快的文件编辑器,很多程序员喜欢使用Notepad++进行纯文本编辑或者脚本开发,但是Notepad++的功能绝不止于此,...

将 node_modules 目录放入 Git 仓库的优点

推荐一篇文章Whyyoushouldcheck-inyournodedependencies[1]...

再度加码AI编程,腾讯发布AI CLI并宣布CodeBuddy IDE开启公测

“再熬一年,90%的程序员可能再也用不着写for循环。”凌晨两点半,王工还在公司敲键盘。他手里那份需求文档写了足足六页,产品经理反复改了三次。放在过去,光数据库建表、接口对接、单元测试就得写两三天。现...

git 如何查看stash的内容_git查看ssh key

1.查看Stash列表首先,使用gitstashlist查看所有已保存的stash:...

6万星+ Git命令懒人必备!lazygit 终端UI神器,效率翻倍超顺手!

项目概览lazygit是一个基于终端的Git命令可视化工具,通过简易的TUI(文本用户界面)提升Git操作效率。开发者无需记忆复杂命令,即可完成分支管理、提交、合并等操作。...

《Gemini CLI 实战系列》(一)Gemini CLI 入门:AI 上命令行的第一步

谷歌的Gemini模型最近热度很高,而它的...

deepin IDE新版发布:支持玲珑构建、增强AI智能化

IT之家8月7日消息,深度操作系统官方公众号昨日(8月6日)发布博文,更新推出新版deepin集成开发环境(IDE),重点支持玲珑构建。支持玲珑构建deepinIDE在本次重磅更...

狂揽82.7k的star,这款开源可视化神器,轻松创建流程图和图表

再不用Mermaid,你的技术文档可能已经在悄悄“腐烂”——图表版本对不上、同事改完没同步、评审会上被一句“这图哪来的”问得哑口无言。这不是危言耸听。GitHub2025年开发者报告显示,63%的新仓...

《Gemini CLI 实战系列》(五)打造专属命令行工具箱

在前几篇文章中,我们介绍了GeminiCLI的基础用法、效率提升、文件处理和与外部工具结合。今天我们进入第五篇...