java字符串操作扩充:灵活截取字符串
java字符串操作扩充:灵活截取字符串
public class StringUtil {
static int varlen1;
static int varlen2;
static String varstr1;
static String varstr2;
static String varstr3;
public static String indexOf(String sourceStr,String indexStr,int indexNum){
/**
* 原始字符串:sourceStr
* 索引字符串:indexStr
* 固定字符串截取后索引次数的indexNum
*
* indexOf("ws++rq++sl++dl","++",4)
* 结果:dl
*/
varlen1 = sourceStr.length();
varlen2 = indexStr.length();
int i=0;//字符串下标
int n=0;//某字符串在指定字符串中的个数
int m=0;
int x=0;
while (i< varlen1){
varstr1 = sourceStr.substring(i, i);//substr(sourceStr,i,1);
varstr2 = indexStr.substring(1,1);//获取指定用于截串的字符串的第一个字符
if(varstr1.equals(varstr2)){
if(i+varlen2<=varlen1){//判断字符下标
if(indexStr.equals(sourceStr.substring(i, i+varlen2))){
n++;
i=i+varlen2;
}
}
}
i++;
}
x=n;
if(indexNum <= 0){
return "";
}
if(n==0){
return sourceStr;
}
if(indexNum==1){
i=0;
n=0;
while(i<varlen1){
varstr1 = sourceStr.substring(i, i);
varstr2 = indexStr.substring(1, 1);
if(null==varstr3){
varstr3=sourceStr.substring(i, i);
}else
varstr3.concat(sourceStr.substring(i, i));
if(varstr1.equals(varstr2)){
if(indexStr.equals(sourceStr.substring(i, i+varlen2))){
n++;
if(i==0&&n==1){
m=varlen2;
}else{
return sourceStr.substring(m, i);
}
}
}
i++;
}
}
if(indexNum<=n+1){
i=0;
n=0;
int c=0;
while(i<varlen1){
varstr1 = sourceStr.substring(i, i);
varstr2 = indexStr.substring(1, 1);
if(varstr1.equals(varstr2)){
if(indexStr.equals(sourceStr.substring(i, i+varlen2))){
n++;
if(n+1==indexNum){
m=i+varlen2;
c=n;//存储指字符串出现的次数
}
if(n-1==c&&c!=0){
//当上一个条件满足时,下次出现时返回指定索引的字符串
return sourceStr.substring(m, i);
}
i=i+varlen2;
}else
i++;
}else
i++;
}
}
//获取截取后的最后一个字符串
return sourceStr.substring(sourceStr.lastIndexOf(indexStr)+indexStr.length(),sourceStr.length());
}
public static void main(String[] args) {
System.out.println(indexOf("ws++rq++sl++dl","++",3));
}
}
喜欢这样文章的可以关注我,我会持续更新,你们的关注是我更新的动力!需要更多java学习资料的也可以私信我!
祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早生贵子,从不掉发!
java字符串操作扩充:灵活截取字符串的更多相关文章
- Java字符串操作及与C#字符串操作的不同
每种语言都会有字符串的操作,因为字符串是我们平常开发使用频率最高的一种类型.今天我们来聊一下Java的字符串操作及在某些具体方法中与C#的不同,对于需要熟悉多种语言的人来说,作为一种参考.进行诫勉 首 ...
- [转]Python 字符串操作实现代码(截取/替换/查找/分割)
原文地址:http://www.jb51.net/article/38102.htm ps:好久没更新python代码了,这次用到了字符串,转来看看 Python 截取字符串使用 变量[头下标:尾下标 ...
- StringsUtil字符串工具类---灵活截取
package com.js.ai.modules.pointwall.interfac; import javax.print.attribute.standard.MediaName; publi ...
- shell字符串操作之cut---实现字符串截取
shell中(字符串截取) cut是以每一行为一个处理对象的,这种机制和sed是一样的.(关于sed的入门文章将在近期发布) 2 cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切 ...
- Python(字符串操作实例1)一个字符串用空格隔开
# 将字符中单词用空格隔开# 已知传入的字符串中只有字母,每个单词的首字母大写,# 请将每个单词用空格隔开,只保留第一个单词的首字母大写传入:“HelloMyWorld”# 返回“Hello my w ...
- Golang之字符串操作(反转中英文字符串)
//字符串反转package main import "fmt" func reverse(str string) string { var result string strLe ...
- shell编程常用的截取字符串操作
1. 常用的字符串操作 1.1. 替换字符串:$ echo ${var/ /_}#支持正怎表达式 / /表示搜索到第一个替换,// /表示搜索到的结果全部替换. ...
- [No0000A4]DOS命令(cmd)批处理:替换字符串、截取字符串、扩充字符串、获取字符串长度
1.替换字符串,即将某一字符串中的特定字符或字符串替换为给定的字符串.举例说明其功能:========================================= @echo off set a ...
- JAVA作业—字符串操作
------------恢复内容开始------------ ------------恢复内容开始------------ ------------恢复内容开始------------ ------- ...
随机推荐
- JS实现斐波那契数列的几种方法
斐波那契数列指的是这样一个数列:1.1.2.3.5.8.13.21.34.…… 前两项为1,从第三项起,每一项等于前两项的和,即F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n& ...
- C语言基础二 练习
指出正确标识符 命名 l 只能由26个英文字母的大小写.10个阿拉伯数字0~9.下划线_组成 l 严格区分大小写,比如test和Test是2个不同的标识符 l 不能以数字开头 l 不可以使用关键字作为 ...
- codewars--js--Find The Parity Outlier
问题描述:(找出奇数数组中唯一的偶数,或是偶数数组中唯一的奇数) You are given an array (which will have a length of at least 3, but ...
- 回到未来:Smalltalk 编程系统
Smalltalk 是19世纪70年代由 Alan Kay 设计的,第一个以面向对象(Object-Orientation)为主要范式的编程语言 1.Smalltalk 具有大量首创的特性,深刻影响了 ...
- Mysql:MySQL数据管理
Mysql:MySQL数据管理 外键管理 外键概念 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键.由此可见,外键表示了两个关系之间的相关联系.以另一个关系的外键作主关 ...
- centos7下查看mysql配置文件适用顺序
mysql --help|grep 'my.cnf' [root@izm5e2q95pbpe1hh0kkwoiz ~]# mysql --help|grep 'my.cnf' order of pre ...
- VBA-UTF-8文件的操作
1.读入UTF-8文件 Dim value As String Dim vLines As Variant Call ReadCsvUTF_8(vFile.Path, value) vLin ...
- go并发版爬虫
并发版爬虫 代码实现 /crawler/main.go package main import ( "learn/crawler/engine" "learn/crawl ...
- 如何使用Acrok Video Converter Ultimate转换视频?
Acrok Video Converter Ultimate是一个功能强大的程序,可以帮助您转换几乎任何类型的视频格式,例如MKV,AVI,WMV,MP4,MOV,MTS,MXF,DVD,蓝光等. 下 ...
- npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
Mac 权限不够 前面加sudo 然后输入密码