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作业—字符串操作
------------恢复内容开始------------ ------------恢复内容开始------------ ------------恢复内容开始------------ ------- ...
随机推荐
- C#设计模式学习笔记:(15)迭代器模式
本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/7903617.html,记录一下学习过程以备后续查用. 一.引言 今天我们要讲行为型设计模式的第三个模式--迭 ...
- UML之二、建模元素(1)
本章介绍UML建模元素 1:Stereotype-也被称为类型.构造型 UML里的元素扩展,简单来说其功能就是在已有的类型上添加一些标记,类似于打个戳,从而生成新的东西. 简单的说加一句话来更加清楚准 ...
- Re:萌娘百科上的黑幕实现
Re:萌娘百科上的黑幕 说明 本文所有的代码均来自萌娘百科.萌娘百科打钱! 第零段话(我想说的) 这方面不是我的专长,所以有的地方说的不对也请纠正! 我可不是萌娘百科的员工或者管理员或者收了钱 我只是 ...
- MySql优化之mycat
1. 解压mycat,不要放在有中文目录的地方 下载地址:http://dl.mycat.io/1.6-RELEASE/2 .修改mycat解压目录下的conf文件夹中server.xml文件,配置 ...
- Mac下搭建selenium环境
1,安装selenium 打开terminal,使用以下命令安装selenium: pip install -U selenium 2,下载chromedriver,并放在python的安装根目录 ...
- C语言编写程序的大小端问题
有时候,用C语言写程序需要知道大端模式还是小端模式,,由于寄存器大于一个字节(8bit),就会存在一个字节安排的问题,例如(16bit)的short型,(32bit)的int型,具体需要看具体的编译器 ...
- MySQL 8 拷贝MySQL数据库到另一台机器
通过mysqldump生成包含SQL语句的文件,然后将其应用到目标机器的mysql客户端程序. mysqldump --help 可以获取mysqldump选项以及用法. 如果源服务器上启用了GTID ...
- 剑指offer-面试题53_3-数组中数值和下标相等的元素-二分查找
/* 题目: 求单调递增数组中,数值与下标相等的任意数字. */ /* 思路: 二分法. */ #include<iostream> #include<cstring> #in ...
- 战“疫”背后的AI身影丨曼孚科技
近期新型冠状病毒肺炎的疫情,牵动着全国上下人民的心. 截止2月11日上午10点,全国确诊人数已达42708人,疑似病例21675人. 突发的疫情让部分地区的快速诊疗能力出现了结构性的缺失,为了打赢这场 ...
- Lucene搜索引擎入门
一.什么是全文检索? 就是在检索数据,数据的分类: 在计算机当中,比如说存在磁盘的文本文档,HTML页面,Word文档等等...... ...