/*******************************************************************************
* @Description 字符串操作类
* @Author CManLH@163.com
* @Date 2008/05/24
******************************************************************************/
public class StringX {
/*
* @Function 从指定字符串中获取最大长度存在颠倒字符串的子串
* @Parm str String 源字符串
* @Return 存在颠倒字符串的最大子串,存在多个时,仅返回最右边的一个
*/
public String getMaxLenReverseString(String str) {
int startIndex = -1;
int lenOfReverseStr = 2;
int tmp = -1;
for ( int i = lenOfReverseStr; i <= str.length(); i++ ) {
tmp = getPosOfReverseString(str, i);
if ( tmp != -1 ) {
lenOfReverseStr = i;
startIndex = tmp;
str = str.substring(0, tmp + lenOfReverseStr);
} else {
break;
}
}
return startIndex == -1 ? str.substring(0,1) : str.substring(startIndex,startIndex + lenOfReverseStr);
}
/*
* @Function 从指定字符串中,获得最右边特定长度存在其颠倒字符串的子串的起始位置
* @Parm str String 源字符串,将从中获取存在颠倒字符串的子串
* @Parm lenOfReverseStr int 颠倒字符串的长度
* @Return int 存在颠倒字符串的子串的起始位置.如不存在子串的颠倒字符串或参数错误,才返回-1
*/
public int getPosOfReverseString(String str, int lenOfReverseStr) {
if ( lenOfReverseStr > str.length() || lenOfReverseStr < 1 ) {
return -1;
}
for ( int i = str.length() - lenOfReverseStr; i >= 0; i-- ) {
if ( str.indexOf(getReverseString(str,i,lenOfReverseStr)) != -1 ) {
return i;
}
}
return -1;
}
/*
* @Function 从指定字符串中得到其子串的颠倒字符串
* @Parm str String 源字符串,将从中获得颠倒字符串
* @Parm s int 将被颠倒子串在源字符串中的起始位置
* @Parm len int 将被颠倒子串的长度
* @Return String 颠倒后得到的字符串。如参数错误就返回空字符串
*/
public String getReverseString(String str, int s, int len) {
int tmp = s + len;
if ( tmp > str.length() || tmp < 1 || s * len < 0 ) {
return "";
}
StringBuilder reverseStr = new StringBuilder(len);
for ( int i = s + len - 1; i >= s; i-- ) {
reverseStr.append(str.charAt(i));
}
return reverseStr.toString();
}
public static void main(String[] args) {
StringX objTest = new StringX();
System.out.println(objTest.getMaxLenReverseString("ARSTUVYWFDEVUTSRZ"));
System.out.println(objTest.getMaxLenReverseString("ABC"));
System.out.println(objTest.getMaxLenReverseString("DEFDEDJH"));
System.out.println(objTest.getMaxLenReverseString("HIJKLKJIH"));
}
}
获取最大长度存在颠倒字符串的子串
时间: 2024-12-11 15:36:43
获取最大长度存在颠倒字符串的子串的相关文章
php获取字符串前几位的实例(substr返回字符串的子串用法)
在实际项目应用中,经常遇到使用php获取字符串前几位用来比较.赋值等等.今天给大家分享使用php substr 获取字符串前几位.后几位.指定位的用法. substr (PHP 4, PHP 5) substr - 返回字符串的子串 说明 string substr ( string $string , int $start [, int $length ] ) 返回字符串 string 由 start 和 length 参数指定的子字符串. 参数 string 输入字符串. start 如果
php获取字符串的长度及截取字符串
三.获取字符串的长度:strlen()函数 语法: int strlen(string str); 例: <?php echo strlen("www.bianceng.cn");?> 四.截取字符串:substr()函数 语法: substr(要截取的字符串,开始截取的位置,截取字符的个数) 例: <?php $a="www.bianceng.cn"; echo substr($a,13,2); //输出 cn?> 以上是小编为您精心准备的
js substring从右边获取指定长度字符串
本篇文章主要是对js substring从右边获取指定长度字符串的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 如下所示: 代码如下: /* Get the rightmost substring, of the specified length, from a String object. */ String.prototype.right = function (length_) { var _fr
javascript利用substr获取字符串的子串
javascript利用substr获取字符串的子串 <form name="form1" > <input type="text" value="" name="f2" > <input type="button" value="get" onclick="f()"> </form> <script> fu
生成指定长度的随机字符串
随机|字符串 '检测生成字符串的长度Response.Write(Len(iXuEr_Rnd_Str(100,1,1,1,1,1)) & "<br>")'以HTML编码输出到浏览器,避免含有某些特殊字符时不能正常显示Response.Write(Server.HTMLEncode(iXuEr_Rnd_Str(100,1,1,1,1,1)))'实际应用时,可以直接调用iXuEr_Rnd_Str(Length,S1,S2,S3,S4,Ln)Function iXuEr_
js判断出两个字符串最大子串的函数实现方法_javascript技巧
如下所示: <!DOCTYPE html> <html> <head> <title></title> </head> <script type="text/javascript"> function search(str1,str2) { var i=j=k=a=jk=kk=0; var m=str1.length; var n=str2.length; var index=0; var maxlen
C/C++中获取数组长度的方法示例_C 语言
学过C/C++的人都知道,在C/C++中并没有提供直接获取数组长度的函数,对于存放字符串的字符数组提供了一个strlen函数获取其长度,那么对于其他类型的数组如何获取他们的长度呢? 其中一种方法是使用sizeof(array) / sizeof(array[0]), 在C语言中习惯上在使用时都把它定义成一个宏,比如: #define GET_ARRAY_LEN(array,len) {len = (sizeof(array) / sizeof(array[0]));} 而在C++中则可以使用模板
php根据指定位置和长度获得子字符串的方法_php技巧
本文实例讲述了php根据指定位置和长度获得子字符串的方法.分享给大家供大家参考.具体分析如下: php的substr函数功能非常强大,不断可以从前往后去子字符串还可以从后往前取字符串 <?php $string = "beginning"; print("Position counted from left: ".substr($string,0,5)."\n"); print("Position counted form rig
php中ob_get_length缓冲与获取缓冲长度实例_php技巧
本文实例讲述了php中ob_get_length缓冲与获取缓冲长度的方法.分享给大家供大家参考.具体方法如下: file_get_contents() 函数把整个文件读入一个字符串中,和 file() 一样,不同的是 file_get_contents() 把文件读入一个字符串. file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法,如果操作系统支持,还会使用内存映射技术来增强性能. 语法:file_get_contents(path,include_pat