GEE必须会教程—跳舞的线(字符串类型)

字符串,GEE上跳舞的线!

GEE学习之路漫长,跟着小编一起走进今天的数据类型的学习。字符串是各大编程语言的常用数据类型,我们今天需要了解GEE平台上字符串的定义、以及常用的方法。

1.定义字符串

//字符串构造
var base_str = "Practice makes perfect!";
var str1 = ee.String(base_str);
print("str1:",str1);

定义字符串比较简单,采用ee.String即可定义任意给定的字符串。此处小编定义了一个英文字符串,含义为“熟能生巧”,也希望各位看到文章的同学们不骄不躁,多多练习,自然就熟悉。

2.获取字符串长度

小编想知道这句英文谚语一共多长呢?此时需要用到.length()方法,该方法能够获取指定字符串的长度,最后返回数值结果。

//计算字符串的长度
var len = str1.length();
print("length:",len);

最后的答案是23。

3.字符串拼接

和实践有关的谚语有很多,比如实践出真知,小编想把它和前面的这句合在一起,应该如何实现呢?

//拼接字符串
var str2 = ee.String("Practice brings true knowledge");
var str3 = str1.cat(" ").cat(str2);//注意两句中间加空格
print("str3:",str3);

拼接字符串需要用到cat方法,此处小编重新定义了一个字符串用以表示实践出真知,接着按顺序调用cat方法,注意哦,两句话中间要有个空格号,小编贴心地在两者中间用cat(” “)进行添加。以使得最后的结果符合实际要求。

4.字符串替换

小编觉得实践出真知没错,但实践需要日复一日的勤奋坚持,小编想说勤奋出真知,能不能在不改动其他字符的情况下,单独将实践替换成勤奋呢?

//替换字符串,想把实践出真知改成勤奋出真知,Practice→Diligence
var str4 = str2.replace("Practice","Diligence");
print("str4:",str4);

字符串替换要用的方法是replace方法,该方法有两个参数,第一个参数为要替换的原字符串,第二个字符串为替换后的字符串,一步到位,得出答案。

5.字母大小写转换

两句话都出现了大小写,有大有小的,能不能把字符串全部转化成大写的,或者是全部是小写,这样看着小编更舒服呀

//字母变大小写
var str5 = str1.toUpperCase();//全部大写
var str6 = str1.toLowerCase();//全部小写
print("str5:",str5);
print("str6:",str6);

字符串的大小写转换也是常用的工具之一,这里我们要介绍一字符串里封装的一对双胞胎方法,大哥叫toUpperCase,它的功能是将字符串全部转化成大写,“RACTICE MAKES PERFECT”就是它的杰作,弟弟叫toLowerCase,它的功能是将字符串全部转化成小写,看,最后的结果变成了“practice makes perfect!”

6.获取子字符串

一句话好长啊,好费劲,小编想从里面按顺序挑出几个字母供读者们欣赏,要怎么实现呢?

//获取子字符串
var str7 = str2.slice(1,6);//得到索引号从1到6的字符串,注意字符串的索引号从0开始
print("str7:",str7);

有时我们需要从一句完整的代码语言中提取出某些关键词,以便后续操作,这里就要用到slice方法了,slice俗称切片,它可以根据指定的索引号,按照索引号顺序提取出子字符串。此处小编给定的索引号范围是1到6,结果将提取索引号为1~6的的子字符串即“racti”。

7.分割字符串

这句话由哪些单词组成呢?能不能将字符串按照一个完整的词进行分割?

//分割字符串
var str8 = str2.split(" ");
print("str8:",str8);

分割字符串用split方法,此处小编通过指定分割的断点符为空号,这样一句完整的话变成了若干个单词,形成一个单独的列表进行输出:

8.获取索引号

为了得出特定子字符串的索引号,以便提取出小编想要的子字符串,小编应该做什么?

//获取指定子字符串在原始字符串中的起始位置索引号
var index1 = str1.index("makes");
print("index1:",index1);
var index2 = str1.index("brings");
print("index2:",index2);
//指定子字符串在字符串中最后一次出现的索引位置
var index3 = str2.rindex("e");
print("index3:",index3);

这里要介绍另一对双胞胎了。index和rindex。

index里参数是需要查找索引号的字符串,它会返回子字符串在原始字符串中的起始位置,index1指定查找makes的开头索引号,结果为字母m对应的索引号,若源字符串并未出现指定字符串,则结果返回-1,如index2最后的结果返回值为-1。

rindex比较神奇,返回指定子字符串在字符串中最后一次出现的索引位置。rindex()方法与index()方法类似,但是它从字符串的末尾开始搜索。此时小编想查找“practice makes perfect”中e字母最后一次出现的位置,结果返回29,表示为末尾fect中的e。

9.在字符串中查找与指定正则表达式匹配的内容

除了slice,是否有别的方法能够获取指定字符串?

var str9 = "Practice makes perfect,Practice brings true knowledge!";
var pattern1 = /makes/;
var pattern2 = /Practice/g;//获取字符串中所有出现的指定子字符串
var result1 = str9.match(pattern1);
var result2 = str9.match(pattern2);
print("Result1:",result1);
print("Result2:",result2);

这里就不得不提到match方法了,GEE字符串中的match方法用于在字符串中查找与指定正则表达式匹配的内容。

在上面的例子中,小编重新定义了一个字符串str9,然后使用正则表达式/makes作为参数调用了match方法。match方法会返回一个数组,其中包含了与正则表达式匹配的内容。如果没有找到匹配的内容,则返回null。

在这个例子中,result的值将会是一个数组["makes"],因为字符串中的"makes"与正则表达式匹配。如果我们想要查找字符串中所有匹配的内容,可以在正则表达式中使用全局标志"g",如本例子小编想查找语句中重复出现的practice。

最后的结果如下:

关于常用的GEE的字符串的表达到这里就结束了,希望对大家学习GEE或者是JavaScript有帮助,不要忘记动动小指头,帮忙点个赞哟!

更多内容,欢迎关注小编的公众号“梧桐凉月”,谢谢!咱们下期再会。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/691356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#面:.NET中所有类型的基类是什么

System.Object 是C# .NET中所有类型的基类,它提供了一些通用的方法和属性,以及对象的类型信息和引用比较等功能。 例如:System.ObjectToString(),Equals(),GetHashCode() 等。 由于所有类型都继承自 System.Object&a…

「Java同步原理与底层实现解析」

原理概要: java虚拟机中的同步基于进入与结束Monitor对象实现,无论是显式同步(同步代码块进入在jvm是根据monitorenter标志、结束是monitorexit标志,那最后一个是monitorexit是异常结束时被执行的释放指令)、隐式同步…

图像预处理技术与算法

图像预处理是计算机视觉和图像处理中非常关键的第一步,其目的是为了提高后续算法对原始图像的识别、分析和理解能力。以下是一些主要的图像预处理技术: 1.图像增强: 对比度调整:通过直方图均衡化(Histogram Equalization)等方法改善图像整体或局部的对比度。 伽玛校正:…

MT4技术分析工具介绍:让你更好地把握市场趋势

在外汇交易市场中,技术分析是一种常用的分析手段,而MT4作为外汇交易中广泛使用的交易平台,拥有丰富的技术分析工具,能够帮助交易者更好地把握市场趋势。本文将介绍几款常用的MT4技术分析工具,帮助读者更好地理解和运用…

STM32 输入捕获模式测频率

单片机学习! 目录 文章目录 前言 一、输入捕获测频率配置步骤 二、代码示例及注意事项 2.1 RCC开启时钟 2.2 GPIO初始化 2.3 配置时基单元 2.4 配置输入捕获单元 2.5 选择从模式的触发源 2.6 配置从模式为Reset 2.7 开启定时器 总结 前言 博文介绍如何配置输入捕获电…

OpenAI 全新发布文生视频模型 Sora,支持 60s 超长长度,有哪些突破?将带来哪些影响?

Sora大模型简介 OpenAI 的官方解释了在视频数据基础上进行大规模训练生成模型的方法。 我们下面会摘取其中的关键部分罗列让大家快速get重点。 喜欢钻研的伙伴可以到官网查看技术报告: https://openai.com/research/video-generation-models-as-world-simulator…

AI破局俱乐部,你要了解的都在这里

您好,我是码农飞哥(wei158556),感谢您阅读本文,欢迎一键三连哦。💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通…

【C#】使用代码实现龙年春晚扑克牌魔术(守岁共此时),代码实现篇

欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。…

使用VBA将多个txt批量转换成excel表并保存

VBA将多个txt批量转换成excel表并保存 Sub ykcbf() Set fso CreateObject("scripting.filesystemobject")Application.ScreenUpdating FalseApplication.DisplayAlerts Falsep ThisWorkbook.Path & ""On Error Resume NextFor Each f In fso.GetF…

Linux文件监控方法

Linux系统开发程序,有时候需要监控配置文件的变化,做出相应操作,下面将介绍常用的文件、目录监控方法: 函数介绍: 1.Inotify系列函数: Inotify_init(void) 系统返回一个文件描述…

mac下mysql 常用命令

mysql启动命令 在Mac OS X启动和停止MySQL服务的命令, 启动MySQL服务 sudo /usr/local/mysql/support-files/mysql.server start 停止MySQL服务 sudo /usr/local/mysql/support-files/mysql.server stop 重启MySQL服务 sudo /usr/local/mysql/support-files/mys…

大模型量化技术原理-LLM.int8()、GPTQ

近年来,随着Transformer、MOE架构的提出,使得深度学习模型轻松突破上万亿规模参数,从而导致模型变得越来越大,因此,我们需要一些大模型压缩技术来降低模型部署的成本,并提升模型的推理性能。 模型压缩主要分…

不知如何获取1688工厂档案信息,你还在为此烦恼吗?

阿里巴巴集团旗下的B2B电子商务网站,提供海量优质商品,为采购商和供应商提供交流、合作、采购等服务,是很多没有货源优势的电商卖家首选的货源途径,也是国内最大、货源种类最齐全的货源网站。 不少做跨境电商无货源的朋友都想要1…

MySQL学习记录——십삼 视图及用户、权限管理

文章目录 1、视图2、用户管理3、权限管理 1、视图 视图把查询出来的结果以表结构的形式存储起来,视图和基表有关系,两者的数据变化都会互相影响。 在查询时,假如要经常查询一条记录,select …,那么为了方便&#xff…

用html编写的招聘简历

用html编写的招聘简历 相关代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</tit…

C语言:指针与内存

C语言&#xff1a;指针与内存 内存与地址指针变量取地址指针变量解引用指针的大小 指针运算指针 - 整数指针 - 指针指针关系运算 const修饰指针字符指针野指针assert断言传址调用 内存与地址 计算机上CPU&#xff08;中央处理器&#xff09;在处理数据的时候&#xff0c;需要…

rk3568 WDG

rk3568 WDG 在嵌入式系统中,看门狗(Watchdog)是一种用于监控系统运行状态并在系统出现故障或死锁时自动重启系统的机制。 监控系统运行状态:看门狗定时器会周期性地计数,在规定的时间内如果系统未能对看门狗进行喂狗操作(即重置看门狗计数器),就会认为系统出现故障或死…

探索JDK5的新特性:革新编程体验的里程碑

引言 Java Development Kit (JDK) 5&#xff0c;于2004年发布&#xff0c;是Java发展历程中具有里程碑意义的一个版本。它不仅引入了一系列关键的编程新特性&#xff0c;还大大提升了开发者的生产力和代码质量。本文将带领大家深入了解JDK 5带来的变革性创新&#xff0c;包括泛…

自定义异常处理演示

​ 为了防止黑客从前台异常信息&#xff0c;对系统进行攻击。同时&#xff0c;为了提高用户体验&#xff0c;我们都会都抛出的异常进行拦截处理。 一、全局异常处理 编写一个异常拦截类&#xff0c;如下&#xff1a;ControllerAdvice&#xff0c;很多初学者可能都没有听说过…

《最新出炉》系列初窥篇-Python+Playwright自动化测试-19-处理鼠标拖拽-中篇

1.简介 上一篇中&#xff0c;主要是介绍了拖拽的各种方法的理论知识以及实践&#xff0c;今天宏哥讲解和分享一下划取字段操作。例如&#xff1a;需要在一堆log字符中随机划取一段文字&#xff0c;然后右键选择摘取功能。 2.划取字段操作 划取字段操作就是在一段文字中随机选…