如何用Split将字符串转换为数组并获取数组下标值

如何用Split将字符串转换为数组并获取数组下标值,第1张

使用split()方法可以将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

示例代码:

    String str =" a1jpg,a2jpg,a3jpg";

     String[] arr = strsplit(",");//分割字符串得到数组

     List list = javautilArraysasList(arr);//字符数组转list

     listget(0)//获取数组下标0位置的值

matlab的find()函数可以找出参数中非零元素的索引(即下标),因此获取矩阵中某个元素的下标的实现方法为:在matlab命令窗口输入find()函数。具体应用举例如下:

1、在matlab命令窗口输入一个示例矩阵:A = [1 2 3;3 4 5;5 6 7],输入及显示如下:

2、继续在命令窗口输入:[m,n] = find(A==2),表示二维矩阵A中等于2的元素的行列位置分别赋值给m和n,输出结果为:

即表示元素2在矩阵A的第1行第2列。

3、为了测试矩阵中存在多个元素的情况,例如查找元素3的下标,在命令窗口输入: [m,n] = find(A==3),此时输出结果为:

因为矩阵A中有两个元素都等于3,所以结果包含两组位置,分表表示第2行第1列和第1行第3列。

string[] str = new string[] {"1","2","3","4","5","6"} ; //声明字符串数据str

ArrayList arr = new ArrayList(str); //声明一个ArrayList并载入str数组

int index = arrIndexOf("2"); //通过indexof函数找到2所在数组中的位置

MessageBoxShow("2在字符串数组第 " + (index + 1)ToString() + " 个位置!"); //然后d出数组中第几个数值是2(因为数组是从0开始的,所以这里使index + 1); 只取数组下标的话,可以将 +1这个 *** 作省去!就是

MessageBoxShow("2所在数组下标值为: " + indexToString()); //获取数组下标

你只知道元素值,还是知道元素值的地址。

如果是只知道元素值,那只有用循环查找了。

如果是知道元素值的地址,那可以求出单个元素字节长度和数组首地址,

(被选元素地址

-

首地址)/(单个元素字节长度)。(注意:这里没有-1,是因为数组下标从0标记的)

例子:

#include

int

main()

{

int

i,

p,

q,

n,

a[10];

for(

i=0;

i<10;

i++

)

a[i]

=

i;

//求a[4]=4的下标

for(

i=0;

i<10;

i++

)

if(

a[i]

==

4

)

printf("元素4的下标为:%d\n",

i);

//第二种情况,假设我们不知道被选元素a[4],p=&a[4]中间经过了多重转换,已经不记得下标了

p

=

&a[4];

q

=

&a[0];

n

=

sizeof(&a[0]);

printf("下标为:%d",

(p-q)/n);

return

0;

}

一步,打开eclipse开发工具,新建静态页面lastIndexOfhtml,如下图所示:

第二步,在<script></script>内编写代码,声明两个变量E1和E2,如下图所示:

第三步,预览该静态页面,打开浏览器控制台,查看打印结果,如下图所示:

第四步,再次修改代码,lastIndexOf方法内第一个参数设置为数组中没有的元素,如下图所示:

第五步,再次预览该静态页面,发现打印的结果为“-1”,说明没有查找到该元素,如下图所示:

第六步,再次修改代码,添加第二个参数,从倒数第二个开始查找,如下图所示:

'arrPtr:数组指针,dims:数组维数,pData:元素指针

Dim arrPtr As Long, dims As Long, pData As Long

'i:循环变量,carry:进位标记

Dim i As Long, carry As Integer

'取得数组维数

CopyMemoryArr arrPtr, Arr, 4

dims = SafeArrayGetDim(arrPtr)

ReDim Index(dims - 1) As Long

Do

'取得某个下标处元素的指针

SafeArrayPtrOfIndex arrPtr, Index(0), pData

'与传入的元素的指针比较

If pData = VarPtr(Element) Then

GetIndex = True

Exit Function

End If

'数组下标加1

Index(dims - 1) = Index(dims - 1) + 1

'检查下标是否溢出

carry = 0

For i = dims - 1 To 1

Index(i) = Index(i) + carry

If Index(i) > UBound(Arr, i + 1) Then

Index(i) = 0

carry = 1

End If

Next i

'最高位单独处理,防止被清0

Index(0) = Index(0) + carry

'检查是否搜索完毕,退出循环

If Index(0) > UBound(Arr, 1) Then Exit Do

Loop

GetIndex = False

End Function

如果你要获得数组的多个值的下标,那你应该循环,然后根据条件获得对应值

或者

如果你的数组为array,要取值为10的下标,那你可以这样

var reault=arraySelect((c,i)=>

{

if(c==10)

return new {c,i};

return new {c,-1};

}ToList();

Foreach(var s in resultWhere(c=>ci!=-1))

{

//si就是下标

}

PHP 获取数组指定值的位置或下标代码如下:

<php

  //定义一个数组

  $array = array(0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd');

  //使用 array_search('要搜索的值',数组);

  $key = array_search('b', $array); // $key = 1;

  $key = array_search('a', $array);   // $key = 0;

>

扩展资料

php 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。

因为可以用另一个 php 数组作为值,也可以很容易地模拟树。解释这些结构超出了本手册的范围,但对于每种结构至少会发现一个例子。要得到这些结构的更多信息,建议参考有关此广阔主题的外部著作。

对于任何的类型:整型、浮点、字符串、布尔和资源,如果将一个值转换为数组,将得到一个仅有一个元素的数组(其下标为 0),该元素即为此标量的值。如果将一个对象转换成一个数组,所得到的数组的元素为该对象的属性(成员变量),其键名为成员变量名。

如果将一个 NULL 值转换成数组,将得到一个空数组。

以上就是关于如何用Split将字符串转换为数组并获取数组下标值全部的内容,包括:如何用Split将字符串转换为数组并获取数组下标值、请问matlab中如何得到满足条件的元素的下标、C# 取已知数组元素的数组下标,有没有函数可以直接完成啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9819935.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存