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

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

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

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

目的

日常中会用到很多语言:比如工作中常用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
"; } ?>

相关推荐

redis的八种使用场景

前言:redis是我们工作开发中,经常要打交道的,下面对redis的使用场景做总结介绍也是对redis举报的功能做梳理。缓存Redis最常见的用途是作为缓存,用于加速应用程序的响应速度。...

基于Redis的3种分布式ID生成策略

在分布式系统设计中,全局唯一ID是一个基础而关键的组件。随着业务规模扩大和系统架构向微服务演进,传统的单机自增ID已无法满足需求。高并发、高可用的分布式ID生成方案成为构建可靠分布式系统的必要条件。R...

基于OpenWrt系统路由器的模式切换与网页设计

摘要:目前商用WiFi路由器已应用到多个领域,商家通过给用户提供一个稳定免费WiFi热点达到吸引客户、提升服务的目标。传统路由器自带的Luci界面提供了工厂模式的Web界面,用户可通过该界面配置路...

这篇文章教你看明白 nginx-ingress 控制器

主机nginx一般nginx做主机反向代理(网关)有以下配置...

如何用redis实现注册中心

一句话总结使用Redis实现注册中心:服务注册...

爱可可老师24小时热门分享(2020.5.10)

No1.看自己以前写的代码是种什么体验?No2.DooM-chip!国外网友SylvainLefebvre自制的无CPU、无操作码、无指令计数器...No3.我认为CS学位可以更好,如...

Apportable:拯救程序员,IOS一秒变安卓

摘要:还在为了跨平台使用cocos2d-x吗,拯救objc程序员的奇葩来了,ApportableSDK:FreeAndroidsupportforcocos2d-iPhone。App...

JAVA实现超买超卖方案汇总,那个最适合你,一篇文章彻底讲透

以下是几种Java实现超买超卖问题的核心解决方案及代码示例,针对高并发场景下的库存扣减问题:方案一:Redis原子操作+Lua脚本(推荐)//使用Redis+Lua保证原子性publicbo...

3月26日更新 快速施法自动施法可独立设置

2016年3月26日DOTA2有一个79.6MB的更新主要是针对自动施法和快速施法的调整本来内容不多不少朋友都有自动施法和快速施法的困扰英文更新日志一些视觉BUG修复就不翻译了主要翻译自动施...

Redis 是如何提供服务的

在刚刚接触Redis的时候,最想要知道的是一个’setnameJhon’命令到达Redis服务器的时候,它是如何返回’OK’的?里面命令处理的流程如何,具体细节怎么样?你一定有问过自己...

lua _G、_VERSION使用

到这里我们已经把lua基础库中的函数介绍完了,除了函数外基础库中还有两个常量,一个是_G,另一个是_VERSION。_G是基础库本身,指向自己,这个变量很有意思,可以无限引用自己,最后得到的还是自己,...

China&#39;s top diplomat to chair third China-Pacific Island countries foreign ministers&#39; meeting

BEIJING,May21(Xinhua)--ChineseForeignMinisterWangYi,alsoamemberofthePoliticalBureau...

移动工作交流工具Lua推出Insights数据分析产品

Lua是一个适用于各种职业人士的移动交流平台,它在今天推出了一项叫做Insights的全新功能。Insights是一个数据平台,客户可以在上面实时看到员工之间的交流情况,并分析这些情况对公司发展的影响...

Redis 7新武器:用Redis Stack实现向量搜索的极限压测

当传统关系型数据库还在为向量相似度搜索的性能挣扎时,Redis7的RedisStack...

Nginx/OpenResty详解,Nginx Lua编程,重定向与内部子请求

重定向与内部子请求Nginx的rewrite指令不仅可以在Nginx内部的server、location之间进行跳转,还可以进行外部链接的重定向。通过ngx_lua模块的Lua函数除了能实现Nginx...