字符串方法

Python —— 常用的字符串方法 Python —— 字符串常用方法 阅读详情

字符串方法

创建字符串

  • 字面量的创建方式
var str = 'kaikeba';
console.log(typeof str); //string
  • 字符串对象的创建方式
var str = new String('kaikeba');
console.log(typeof str); //object

查找类方法:

  • charAt( index )

    • 参数
      • index : 0 ~ lengrh -1的值,默认为0,超出返回空字符串
    • 返回特定位置的字符
  • charCodeAt( index )

    • 参数
      • index:0 ~ length-1的值,默认为0,超出返回NaN
    • 返回指定位置的字符的Unicode编码
  • fromCharCode( num1,num2… )

    • 参数
      • 可填入多个Unicode编码
    • 返回指定的unicode编码对应的字符
  • indexOf( searchValue [,fromIndex] )

    • 参数
      • searchValue : 查找的值
      • fromIndex : 指定开始查找的位置,默认为 0,如果小于 0 等同 0 进行操作,如果大于length,返回 -1
    • 返回首个被发现的指定的值的索引,没有找到则返回-1,该方法区分大小写
    • 巧用 ~ 配合查找
    	// ~ 对返回值进行按位取反
      // 所有正整数的按位取反是其本身+1的负数,
      // 所有负整数的按位取反是其本身+1的绝对值,
      // 零的按位取反是 -1
    if( ~authBtns.indexOf(id))  // 如果没有找到
    

- lastIndexOf( searchValue [,fromIndex] )
 - 参数
   - searchValue:查找的值
   - fromIndex :指定开始查找的位置,默认值是 length ,如果是负数则为0,如果大于length则为length
 - 返回最后一个被发现的指定的值的索引,没有找到则返回-1,查找顺序从后往前





### 截取类方法

- slice(begin[,end])

 - 参数
   - begin:从该索引处开始提取字符,如果是负数(负数一旦超出lenth,默认为从0开始),则会从右向左查找字符截取
   - end:结束截取的位置,如果省略改参数,则会默认为到字符串最后一位。如果是负数,同样从右向左查找最后一位字符位置。
 - 截取一个字符串区域,并返回一个新字符串

 **注意begin被包含在截图的字符串中,end不包含**

 **如果超出最大索引值,或者ends所处的对应索引在begin索引之前,都会返回空字符串**



- substr(start[,length])

 - 参数
   - start:开始提取字符串的位置,如果是负数,则从右向左查找字符串截取
   - length:提取的字符串数,默认到字符串末尾
 - 返回从指定位置开始,到指定字符数的字符

 **并不推荐使用,未来可能被移除**

 

- substring(begin[,end])

 - 参数
   - begin:截取的起始索引位置,如果小于0,则等于0;
   - end:截取的结束索引位置,该位置的字符不包含在截取范围内,如果大于length,则等于length
 - 返回字符串中指定两个下标之间的字符

 

 

 

### 其他常用方法

- split(separator[,num])
 - 参数
   - separator:决定分隔的字符
   - num:分隔的个数
 - 将字符串分割成字符串数组
- concat(性能不如+ 、+=)
 - 将一个或多个字符串与原字符串合并,并返回新字符串
- toLowerCase()
 - 将字符串转成小写并返回新的字符串
- toUpperCase()
 - 将字符串转成大写并返回新的字符串
- trim()
 - 去除首尾空格
























Py字符串的一些方法(字符串方法) 之前在Py第一天,写过了,不过后来过去看了看比较乱,或者说很乱,根本没法看,自己都看不懂,所以想了想,在写下,最起码以后自己看着方便,能看懂。 str = 'hello world' print (len(str))#取出字符串长度 print (str[0],str[len(str)-1])#取出下标为0的元素,和最后一位元素 print (str[1:5:2],str[:5:2],str[6:... 阅读详情

相关推荐

Unreal Engine鸿蒙移植实战:环境配置、构建流程与性能优化指南

游戏引擎移植是跨平台开发中的关键技术环节,其核心原理在于通过适配目标操作系统的底层接口和工具链,实现同一套代码在不同硬件和软件环境下的高效运行。这项技术的价值在于最大化代码复用率,降低多平台维护成本,并能让应用快速触达新兴生态系统的用户。在移动游戏和XR应用领域,随着鸿蒙HarmonyOS生态的快速发展,将成熟的商业引擎如Unreal Engine迁移至此平台,成为开发者探索新市场机会的重要路径。本文聚焦于Unreal Engine项目向鸿蒙系统的移植实践,详细解析了从环境搭建、源码适配到构建打包的全链路流

weixin_29011395的博客 410

github表情符号大全

非常值得收藏的github的表情符号。

布道 3156

深入解析MTK平台hang_detect机制:从原理到实战调试

本文深入解析了MTK平台hang_detect机制的工作原理与实战调试技巧。作为系统健康监测的核心机制,hang_detect通过多层级监控体系检测应用层和内核层异常,结合Kernel_exception等日志信息快速定位问题。文章详细介绍了典型问题案例、调试方法及预防措施,帮助开发者提升MTK平台系统稳定性调试能力。

purple的博客 1005

字符串操作

1、concat 字符串拼接 2、substring (起始, 终点) 如果只有一个参数 就是从开始 到末尾了 字符串截取 3、substr (起始, 从起始开始几位) 如果只有一个参数 就是从开始 到末尾了 字符串截取 4、slice (起始 终点) 如果只有一个参数 就是从开始 到末尾了 不会反截取 但是会截取负数 从右边截取 5、indexOf 查找 第一个参数 要找的东西 第二个

Lik1024 284

嵌入式调光控制库:轻量级软启/渐变/记忆逻辑实现

调光控制是智能照明系统的核心基础功能,涉及亮度调节、人机交互与电气安全多重需求。其底层原理依赖于对相位角或PWM占空比的精确时序控制,并需融合软启动、渐变过渡、状态记忆等工程化逻辑。这类轻量级调光行为逻辑层,不直接操作硬件寄存器,而是以确定性、无动态内存、可配置的方式封装用户意图到目标亮度值(0–100%)的映射过程,显著提升产品鲁棒性与跨平台复用能力。广泛应用于TRIAC交流调光、LED直流PWM驱动及DALI/Matter等智能照明协议网关中,尤其适合资源受限的Cortex-M系列MCU和FreeRTO

weixin_28949937的博客 579

BUPT软件安全实验三

可以看出栈溢出对程序运行的安全性有很大的威胁,如果不对栈进行保护,只要系统中存在栈溢出漏洞,即可令攻击者通过非正当方法获取操作权限。(6)解决思考题,即:在不修改StackOverrun程序源代码的情况下,构造shellcode,通过JMP ESP的方式实现通过记事本打开shellcode.txt(可使用CreateProcessA或WinExec等API)。查看缓冲区信息,可以看到dest指向地址0x0012FAF0,其为数组的存放起始位置,也就是shellcode注入的起始位置。

7xun's space 1966

GitHub 上 1.3k Star 的 strman-java 项目有值得学习的地方吗?源码视觉来分析一波

真的非常不错,值得在收藏夹吃灰的。

沉默王二 2061

Python 爬虫实战:爬取知乎问答与评论数据并分析

摘要:本文以Python为核心工具,系统讲解知乎问答与评论数据爬取的技术方案。通过分析知乎API接口结构,详细阐述Requests库结合正则表达式的数据获取方法,涵盖请求头构造、鉴权参数处理等关键技术。文章对比了HTML解析、API调用和Selenium模拟三种爬取方案的优劣,提供完整的代码实现,包括问题信息获取、回答列表爬取和评论数据提取。同时介绍了数据存储(JSON/Excel)和基础文本分析(词云生成)方法,并给出合规使用建议和技术优化方向,为开发者提供了一套可落地的知乎数据爬取与分析解决方案。

2503_91057718的博客 1820

字符串新增的方法

1.String.fromCodePoint() 用于从Unicode码点返回对应字符。 2.String.raw() 该方法返回一个斜杠都会被转义(即斜杠前面再加一个斜杆)的字符串,往往用于模板字符串的处理方法 3.实例方法: codePointAt() 4.实例方法:normalize() ,用来将字符的不同方法统一为同样的形式,这称为Unicode正规化。 5.实例方法:inclu...

miracle22222的博客 480

【硬件的单元测试 UT 3】PCIe 3.0及信号完整性测试方法

PCIe标准自从推出以来,1代和2代标准已经在PC和Server上逐渐普及,用于满足高速显卡、高速存储设备对于高速数据传输的要求。出于支持更高总线数据吞吐率的目的,PCI-SIG组织在2010年制定了PCIe 3.0,即PCIe 3代的规范,数据速率达到8Gbps。

qq_43416206的博客 1415

【ComfyUI报错解决】K采样器 mat1和mat2形状不匹配错误分析与修复 mat1 and mat2 shapes cannot be multiplied (77x2048 and 4096x

如果你在 ComfyUI 里遇到K采样器报错:mat1 和 mat2 shapes cannot be multiplied确认大模型和 LoRA 是否是同一版本(SDXL vs SD1.5,不能混用)。如果用了双 CLIP 加载器,要确认加载的类型和选择的模型类型是否匹配。加载→ 类型选flux加载 SDXL 专用的 clip/t5 → 类型选sdxl避免不同版本模型和 LoRA 混搭,保持一致性。模型+LoRA+CLIP 类型必须保持同一版本,不然就会报错。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2409

JavaScript 字符串方法

字符串就是零个或多个排在一起的字符,单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号。如果要在单引号字符串的内部,使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。双引号字符串内部使用双引号,也是如此注意:字符串默认只能写在一行内,分成多行将会报错。

m0_74742670的博客 1745

基于STM32的多传感器融合的设施农业小型搬运机器人避障控制系统设计

针对设施农业场景中狭窄通道、障碍物多样(如农机具、作物植株、水管)的特点,设计一款基于 STM32 的小型搬运机器人避障控制系统。系统通过多传感器融合实现 360° 环境感知,采用模糊 PID 控制算法实现平滑避障,满足温室、大棚等场景的搬运需求。通过在温室环境测试,系统可实现对直径≥5cm 障碍物的有效检测(检测距离误差≤5%),避障转向半径≤30cm,平均功耗≤15W。后续可通过增加激光雷达(如 TFmini)提升远距离障碍物检测能力,结合 SLAM 算法实现路径规划。

weixin_42300449的博客 860

字符串方法介绍以及常用方法使用

以上就是字符串的所有方法和实例。

2301_80107415的博客 1189

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

js字符串方法大全

字符串操作方法 1.转换为字符串类型toString() (1)var num=110; var n=num.toString(); //"110" (2)var num=111; var n=String(num); //"111" (3)var num=112; var n="" + num; //"112" 2.字符串分割返回新的数组split() (1)var str="qingchenghuwoguoxiansheng,woaishenghuo,woaiz

豪哥的博客 5276

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Python字符串方法

通过dir命令,可以看到str字符串的很多可用方法,这些方法有助于我们对字符进行处理

2402_87768817的博客 807

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Python 通过字符串调用类方法或方法

问题描述 今天遇到个问题,在一个类里面,想要通过字符串调用类里面的方法,即(注意,以下为错误代码演示,只是为了表述问题): class A(object): def a(self): print('xxxxx') def b(self): c= 'a' self.c() test = A() test.b() 如上面代码所示,在b函数里面,我将字符 a 赋值...

GodLordGee的博客 1万+

字符串之count方法

描述 count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。 语法 count()方法语法: str.count(sub, start= 0,end=len(string)) 参数 sub -- 搜索的子字符串 start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。 end -- 字符串中结束搜索的位置。字符中...

weixin_30388677的博客 2276

字符串方法和数组的方法

一.字符串方法 1、charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码。  strObj.charCodeAt(index)  说明:  index将被处理字符的从零开始计数的编号。有效值为0到字符串长度减1的数字。  如果指定位置没有字符,将返回NaN。  例如:  var str = "ABC";  str.charCodeAt(0);  结果:6

梁山伯_的博客 2912

字符串常见方法总结

文章目录 一、构造方法 二、静态方法 三、其他方法 一、构造方法 字符串中有无参构造方法和有参构造方法两种构造方法 1、String s1="中国"; 2、String s2=new String(“中国”);//创建一个对象,指向字符串常量对象。 3、String s3=new String(char数组);//将char数组中的存放的每一字符连结起来形成字符串 4、String s3=new String(char数组,起始下标,长度);//将char数组中的存放的起始位置起...

qq_51956240的博客 2183

字符串的分隔方法

描述 split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串 语法 split()方法语法: str.split(str="", num=string.count(str)) 参数 str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 num – 分割次数。 返回值 返回分割后的字符串列表。 实例 以下实例展示了sp...

qq_42370150的博客 3380

字符串常见方法

注意: 如果参数 from 和 to 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。该方法的参数 regexp 是必需的,规定要匹配的模式的 RegExp 对象。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。该参数可指定返回的数组的最大长度。一个非负的整数,比要提取的子串的最后一个字符在 string 中的位置多 1。该方法也是接收两个参数,第一个参数是字符串补全生效的最大长度,第二个参数是用来补全的字符串。

Jsjdjbxjjwjd的博客 2020

字符串的常见方法总结

一、字符串的构造方法 构造方法没有返回值,方法名与类名一致,在创建类的对象时通过new关键字调用 无参构造方法: public String() { this.value = "".value; } 构造方法1: 传入的参数类型:字符数组。 作用:根据字符数组创建字符串 //构造方法还原 public String(char value[]) { this.value = Arrays.copyOf(value, value.le...

weixin_53233753的博客 730

字符串indexof方法_字符串indexOf()方法

字符串indexof方法Gives the position of the first occurrence of the string passed as parameter in the current string. Returns -1 if the string is not found. 给出作为参数传递的当前字符串中字符串首次出现的位置。 如果找不到该字符串,则返回-1。 'Ja...

cuk0051的博客 5788

js中字符串的常用方法

目录 一、普通方法 1.字符方法(索引和字符的互相返回)str.charAt(index); str.charCodeAt(index); String.fromCharCode(num1,num2,...,numN); 2.拼接字符串 concat方法(对原字符串无影响) 3.截取字符串 slice方法、substring方法、substr方法: 4.字符串位置方法(查) str.indexOf(searchString,startIndex); str.lastIndexOf(...

代码DJ的博客 5837
上一篇: js获取计算后的css
下一篇: 数组方法
ZhouMin8877
博客等级 码龄9年 4粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值