多语言的字符串处理记录(多字符集)

boyanx1周前技术教程2

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

目的

日常中会用到很多语言:比如工作中常用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 <iostream>
#include <string>
#include <algorithm>
#include <sstream>
#include <vector>
using namespace std;
vector<string> 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.字符串转int,int转字符串
	int num;
	stringstream ss2("100");
	ss2 >> num;
	stringstream ss3;
	ss3 << num;
	cout << "8.字符串转int,int转字符串:" + 
    ss3.str() + "," + ss3.str() << endl;
	//9.分割字符串
	vector<string> 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<string> split(const string& src, string sp) {
	vector<string> 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)."<br/>";

//2.获取字符串的第二和第三个字母
echo "2.获取字符串的第二和第三个字母:".substr($_str,1,2)."<br/>";

//3.获取字符串的最后一个字母
echo "3.获取字符串的最后一个字母:".substr($_str,strlen($_str)-1,1)."<br/>";

//4.字符串开头字母判断
if(strrpos($_str,"Hello")!==false && strrpos($_str,"Hello")==0){  
	echo "4.字符串开头字母比较:以Hello开头<br/>";
}

//5.字符串结尾字母判断
if(strrpos($_str,"World")!==false 
   && strrpos($_str,"World")== strlen($_str)-5){  
	echo "5.字符串结尾字母比较:以World结尾<br/>";
}

//6.获取字符串长度
echo "6.获取字符串长度:".strlen($_str)."<br/>";

//7.大小写转换
echo "7.大小写转换:".strtoupper($_str).",".strtolower($_str)."<br/>";

//8.字符串转int,int转字符串
echo "8.字符串转int,int转字符串:".intval("100").",".((string)100)."<br/>";

//9.分割字符串
$a = explode(',',$_str);
echo "9.分割字符串:[".$_str."--->".$a[0]."]<br/>";

//10.判断字符串是否包含
if(strrpos($_str,"o,W")!==false && strrpos($_str,"o,W")>=0){  
	echo "10.分割字符串:包含o,W<br/>";
}
?>

相关文章

C语言字符串操作总结大全(超详细)

C语言字符串操作总结大全(超详细)1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat...

Java字符串是否相等的三种判断方法

程序代码园发文地址:Java字符串是否相等的三种判断方法 -程序代码园方法一:==在java中字符串的值是不可改变的,相同的字符串在内存中只会存一份public static void f1(){ /...

鸿蒙开发:ArkTs字符串string(鸿蒙ar字幕)

前言本文代码案例基于Api13。字符串在实际的开发中还是非常重要的,牵扯到的用法也是比较多的,比如字符串中的查找,替换,切割等等,字符串(String)是由零个或多个字符组成的有限序列,在计算机编程和...

简单易懂的KMP字符串匹配算法(使用kmp算法进行字符串匹配)

什么是KMPKMP算法是Knuth、Morris和Pratt三人设计的线性时间字符串匹配算法。算法的核心思想是尽可能地利用已知信息,减少尝试匹配的次数,从而降低时间复杂度。要想彻底地弄懂KMP算法,需...

从Excel混合字符串单元格,提取自第一个中文起的连续中文

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知...

Excel如何合并字符串?CONCAT/PHONETIC/TEXTJOIN函数功能对比

多个单元格的内容如何合并到一个单元格?Excel一共提供四个函数,可以实现字符串的合并,但是会受到Excel版本的限制,且功能各有优异。PHONETIC函数PHONETIC存在于2016及以上版本中,...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。