GVKun编程网logo

Java:使用String.indexOf()检查撇号字符(java string查找)

17

这篇文章主要围绕Java:使用String.indexOf和检查撇号字符展开,旨在为您提供一份详细的参考资料。我们将全面介绍Java:使用String.indexOf的优缺点,解答检查撇号字符的相关问

这篇文章主要围绕Java:使用String.indexOf检查撇号字符展开,旨在为您提供一份详细的参考资料。我们将全面介绍Java:使用String.indexOf的优缺点,解答检查撇号字符的相关问题,同时也会为您带来C#中String类的几个方法(IndexOf、LastIndexOf、Substring)、delphi – TStringList.IndexOf:indexof中的通配符?、indexOf 和 lastIndexOf 使用示例介绍_javascript技巧、java ---- subString() 和 indexOf()的实用方法。

本文目录一览:

Java:使用String.indexOf()检查撇号字符(java string查找)

Java:使用String.indexOf()检查撇号字符(java string查找)

我正在尝试解析一个字符串,我需要使用子字符串来做到这一点。该字符串包含撇号字符。我的问题是,如何使用temp来获取String.indexOf以获取撇号字符的索引?

//temp variable currently contains the string ''hello'' including the apostrophe characterString finalWord = temp.substring(temp.indexOf(''''''), temp.indexOf(''.''));

答案1

小编典典

您的变量名错误(final是保留字),应使用转义符:

String finalword = temp.substring(temp.indexOf(''\''''), temp.indexOf(''.''));

C#中String类的几个方法(IndexOf、LastIndexOf、Substring)

C#中String类的几个方法(IndexOf、LastIndexOf、Substring)

一. String.IndexOf

String.IndexOf 方法 (Char, Int32, Int32)
报告指定字符在此实例中的第一个匹配项的索引。搜索从指定字符位置开始,并检查指定数量的字符位置。
String.IndexOf(value, startIndex, count)

参数

value:要查找的 Unicode 字符。 
startIndex:搜索起始位置。 
count:要检查的字符位置数。

返回值(Int32):
如果找到该字符,则为 value 的索引位置;否则如果未找到,则为 -1。 

代码:

string str = "深圳市盈基实业有限公司国际通邓事文*深圳市盈基实业有限公司国际通邓事文";
            string indexOf1 = str.IndexOf("中国").ToString();//返回 -1 
            string indexOf2 = str.IndexOf("盈基").ToString();//返回 3 
            string indexOf3 = str.IndexOf("盈基", 10).ToString();//返回21 说明:这是从第10个字符开始查起。 
            string indexOf4 = str.IndexOf("邓", 15, 10).ToString();//返回 -1
            string indexOf5 = str.IndexOf("邓", 15, 20).ToString();//返回 32 说明:从第15个字符开始查找,要查找的范围是从第15个字符开始后20个字符,即从第15-35个字符中查找。

 

二、String.LastIndexOf

String.LastIndexOf 方法
报告指定的 Unicode 字符或 String 在此实例中的最后一个匹配项的索引位置。

String.LastIndexOf (Char)  / /报告指定 Unicode 字符在此实例中的最后一个匹配项的索引位置。

String.LastIndexOf (String) //报告指定的 String 在此实例内的最后一个匹配项的索引位置。

String.LastIndexOf (String, Int32) //查找前“Int32”个字符里 “String” 的位置,没有返回-1

String.LastIndexOf (Char, Int32, Int32) //报告指定的 Unicode 字符在此实例内的子字符串中的最后一个匹配项的索引位置。搜索从指定字符位置开始,并检查指定数量的字符位置。

 String.LastIndexOf (String, Int32, StringComparison) //报告指定字符串在当前 String 对象中最后一个匹配项的索引。参数指定当前字符串中的起始搜索位置,以及要用于指定字符串的搜索类型。

String.LastIndexOf (String, Int32, Int32, StringComparison) //报告指定的 String 对象在此实例内的最后一个匹配项的索引位置。参数指定当前字符串中的起始搜索位置、要搜索的当前字符串中的字符数量,以及要用于指定字符串的搜索类型

string str = "深圳市盈基实业有限公司国际通邓事文*深圳市盈基实业有限公司国际通邓事文";

 string lastIndexOf1= str.LastIndexOf("邓文").ToString();//返回-1
            string lastIndexOf2= str.LastIndexOf("邓").ToString();//返回32
            string lastIndexOf3= str.LastIndexOf("邓",8).ToString();//返回-1  查找前8个字符里 “邓” 的位置,没有返回-1
            string lastIndexOf4 = str.LastIndexOf("邓",20).ToString();//返回14
            string  astIndexOf5 = str.LastIndexOf("邓",33).ToString();//返回32

  

三、String.Substring

String.Substring (Int32)  //从此实例检索子字符串。子字符串从指定的字符位置开始。

String.Substring (Int32, Int32) //从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。

示例:
string str = "深圳市盈基实业有限公司国际通邓事文*深圳市盈基实业有限公司国际通邓事文";
Label1.Text = str.Substring(11);//返回 “国际通邓事文*深圳市盈基实业有限公司国际通邓事文”
Label1.Text = str.Substring(11,7);//返回 “国际通邓事文*”

Substring是字符串截取,返回值是一个截取后的字符串。

 

最后:(此文章纯属个人笔记,如有雷同、只是借鉴)

delphi – TStringList.IndexOf:indexof中的通配符?

delphi – TStringList.IndexOf:indexof中的通配符?

我想在字符串列表中检索linenumber(从文件加载).
Indexof似乎完全匹配.有没有办法检索带有通配符版本的Indexof的行?像SL.Indexof(‘?sometext’)这样的东西?

谢谢!

解决方法

如果你想匹配字符串的某些部分,没有任何花哨的通配符,正如你在另一个答案的注释中指出的那样,那么你可以使用这样一个简单的函数:
function FindMatchStr(Strings: TStrings; const SubStr: string): Integer;
begin    
  for Result := 0 to Strings.Count-1 do
    if Containsstr(Strings[Result],SubStr) then
      exit;
  Result := -1;
end;

如果你想要一个不区分大小写的匹配,那么你可以使用这个:

function FindMatchText(Strings: TStrings; const SubStr: string): Integer;
begin    
  for Result := 0 to Strings.Count-1 do
    if ContainsText(Strings[Result],SubStr) then
      exit;
  Result := -1;
end;

Containsstr和ContainsText在StrUtils RTL单元中定义,并遵循Str的标准约定来表示区分大小写的比较,而Text则表示不区分大小写.

indexOf 和 lastIndexOf 使用示例介绍_javascript技巧

indexOf 和 lastIndexOf 使用示例介绍_javascript技巧

indexof 的用途是在一个字符串中寻找一个字的位置

lastIndexOf 也是找字 , 它们俩的区别是前者从字符串头开始找,后者是从字符串末端开始找。

一但指定的字被找到,就会返回这个字的当前的位置号码。如果没有找到就返回 -1.

var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.indexOf("/")); //0
console.log(str.lastIndexOf("/")); //39

登录后复制

参数1是要寻找的字,必须是str,正则不行哦。

此外它还接受第2个参数。Number类型, 这个让我们可以指定寻找的范围。

立即学习“Java免费学习笔记(深入)”;

var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.indexOf("/", 0)); //0 默认情况是 0
console.log(str.lastIndexOf("/", str.length)); //39 默认情况是 str.length
登录后复制

两个方法的控制是不同方向的 。

假设 indexOf 设置 10 , 那么查找范围是 从10到str.length(字末)

lastIndexOf 设置 10 的话 , 查找范围会是 从10到 0 (字首)

这个要注意了。

ps : 设置成负数比如 -500 ,会有奇怪现象,我自己搞不懂 = = " ;

有时我们会希望指定找第n个.那么我们就通过上面的方法来实现了。

比如 :

String.prototype.myIndexOf = function (searchValue, startIndex) { 
var text = this;
startIndex = startIndex || 1; 
var is_negative = startIndex < 0;
var ipos = (is_negative) &#63; text.length + 1 : 0 - 1; 
var loopTime = Math.abs(startIndex);
for (var i = 0; i < loopTime ; i++) {
ipos = (is_negative) &#63; text.lastIndexOf(searchValue, ipos - 1) : text.indexOf(searchValue, ipos + 1);
if (ipos == -1) break;
}
return ipos;
}
登录后复制
var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.myIndexOf("/", 3)); //20
console.log(str.myIndexOf("/", -2)); //25 倒数第2个的位置
登录后复制

java ---- subString() 和 indexOf()

java ---- subString() 和 indexOf()

来个小题目:把之前也放到一块

获取数字  6.99999  的前两位,6.9

 

 代码:

package com.obge.contr;
public class Teststu {     
    public static void main(String[] args) {    
        double du1= 6.99999;
        //通过包装类进行转化,将 double类型转换为String类型
        //返回该对象的字符串表示     本质上还是toString
        String s1 = Double.toString(du1);
        String s2 =  String.valueOf(du1);
        String s3 = ""+du1;        
        //indexof 返回制定字符在字符串中第一次出现的位置, 不存在就返回-1,注意indexof 是从零开始的
        //substring  注意哦: 左边包含右边不包含,也是从0 开始,方向都是  从左到右
        String ss = s2.substring(0,s2.indexOf(".")+2);        
        //String类型转换为 double 类型     parse 解析
        du1 = Double.parseDouble(ss);
        
        System.out.println("小数点所在的位置:"+s2.indexOf("."));
        System.out.println("double转换为String类型的三种的方式:");
        System.out.println(s2+"的类型是:"+getType(s2));
        System.out.println(s1+"的类型是:"+getType(s1));
        System.out.println(s3+"的类型是:"+getType(s3));
        
        System.out.println(ss+"的类型是:"+getType(ss));
        System.out.println("最后转化之后的值是:"+du1+"的类型是:"+getType(du1));
                    
        
    }
    //获取变量类型方法
    public static String getType(Object o){ 
        //调用该方法返回变量类型   getClass()方法
        return o.getClass().toString();
        
        }     

}

 

1、subString()   j截取       自左向右,从零开始,左包含右不包含

两种方法:

  substring(beginIndex)

       substring(beginIndex, endIndex)

注意:截取的时候是从零开始,左包含右边不包含,共截取(endIndex-beginIndex+1) 个字符 ,范围要是大于所要截取的字符串总数会报错。

 通过编辑软件如:eclipse  就可以看到 SubString 的用法,也给出了例子,可以看到有两个,可以传递一个参数,或两个参数

 

 

 简单小例子

 

2、indexOf()       获取对应字符所在位置,没有就返回 -1

public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
  

会有提示的撒,  就是注意返回值是个 int  类型的

 

 主要的是就是:字符串里有就返回对应所在下标位置,也是自左向右从零开始,没有就返回  -1

关于Java:使用String.indexOf检查撇号字符的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于C#中String类的几个方法(IndexOf、LastIndexOf、Substring)、delphi – TStringList.IndexOf:indexof中的通配符?、indexOf 和 lastIndexOf 使用示例介绍_javascript技巧、java ---- subString() 和 indexOf()的相关知识,请在本站寻找。

本文标签: