String.charAt(pos)

/*
* charAt方法返回在string的pos位置处的字符,如果pos小于 0 或者大于等于 字符串长度 string.length,它会返回空字符串 JavaScript没有
* character type 字符类型.这个方法返回的结果是一个字符串
* */
function charAt1(){
    var name = 'Curly';
    var initail = name.charAt(0);
    document.writeln(initail);

    // 也可以这样实现
    String.method('charAt',function(pos){
        return this.slice(pos, pos + 1);
    });

}
/**
 *  charCodeAt方法同charAt一样,只不过它返回的不是一个字符串,
 *  而是以整数形式表示的在string中pos位置处字符的字符码位。如果pos小于 0 或者大于字符串长度string.length,
 *  它返回NaN
 */

function charCodeAt1(){
    var name = 'Curly';
    document.writeln(name.charCodeAt(2)); 
    document.writeln(name.charCodeAt(11)); // NaN
}
/**
 * concat方法把其他的字符连接来构造一个新的字符串,很少被使用, 因为用  + 运算符更为方便
 * */
function concat1(){
    var s = 'C'.concat('a','c');
    document.writeln(s +"------");
    document.writeln(s.concat('a'));
}
/**
 *  indexOf方法在String内查找另一个字符串searchString。如果它被找到,返回第一个
 *  匹配字符的位置,否则返回 -1 。可选参数  position可设置从 string的某个指定的
 *  位置开始查找
 */

function indexOf1(){
    var text = 'Mississippi';
    var p = text.indexOf('ss');
    document.writeln(p + "----------");
    p = text.indexOf('ss',3);
    document.writeln(p + "----------  ");
    p = text.indexOf('ss',6);
    document.writeln(p);
}
/**
 * split方法把这个string分割成片段来创建一个字符串数组。可选参数limit可以限制被分割的片段数量
 * separator参数可以是一个字符,或者是一个正则表达式
 *
 * string.split(separator, limit)
 *  如果separator是一个空字符,会返回一个单字符的数组,否则该方法会在string查找所有separator出现的地方,
 *  分隔符两边的每个单元文本会复制到该数组中,此方法会忽略g标识
 *
 */
function split1(){
    var digits = '0123456789';
    var a = digits.split('',4);
    document.writeln(a+"-----")

    var ip = '192.168.100.1';
    var b = ip.split('.');
    document.writeln(b+"-----");

    var c = '|a|b|c|'.split("|");
    document.writeln(c+"-----");
    document.writeln(c.length);

    var text = "last, first, middle";
    var d = text.split("/\s*,\s*/");
    document.writeln(d)
}


/**
 *  slice方法复制string的一部分来构造新的字符串,如果start参数是负数,它将与string.length相加。end的参数是
 *  可选的,且默认的值是string.length
 * */
function slice2(){
    var text = 'and in it he says "Any danm fool could';
    var a = text.slice(18);
    document.writeln(a+"----");
    var b = text.slice(0,3);
    document.writeln(b);
    document.writeln(b.length + "----");
    var c = text.slice(-2);
    document.writeln(c);
}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在代码中,您需要修改以下两处错误: 1. `Length()` 方法中的 `Character.lengthCase()` 应改为 `Character.toString().length()`,用于获取字符串的长度。 2. `is FirstChar()` 方法中的 `is` 应该改为 `First`,即 `Character.firstCharCase()`,用于获取字符串的第一个字符。 修改后的代码如下: ```java package application; import javafx.application.Application; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.layout.BorderPane; import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.stage.Stage; public class AS3 extends Application { TextField tfA = new TextField(); TextField tfB = new TextField(); TextField tfC = new TextField(); TextField tfD = new TextField(); Button Length = new Button(" Length "); Button ToUp = new Button(" To Up"); Button Tolow = new Button(" To low "); Button FirstChar = new Button(" First Char "); Button LastChar = new Button(" Last Char "); @Override public void start(Stage primaryStage) { GridPane gridPane = new GridPane(); gridPane.setHgap(5); gridPane.setVgap(5); gridPane.add(new Label("Student ID:"), 0, 0); gridPane.add(tfA, 1, 0); gridPane.add(new Label("Name:"), 0, 1); gridPane.add(tfB, 1, 1); gridPane.add(new Label("A Character"), 0, 3); gridPane.add(new Label("="), 2, 3); gridPane.add(new Label("Result"), 5, 3); gridPane.add(tfC, 1, 4); gridPane.add(tfD, 5, 4); gridPane.setAlignment(Pos.CENTER); tfD.setAlignment(Pos.BOTTOM_RIGHT); HBox hBox = new HBox(Length, ToUp, Tolow, FirstChar, LastChar); hBox.setAlignment(Pos.CENTER); BorderPane borderPane = new BorderPane(); borderPane.setCenter(gridPane); borderPane.setBottom(hBox); Length.setOnAction(e -> Length()); ToUp.setOnAction(e -> toUp()); Tolow.setOnAction(e -> toLow()); FirstChar.setOnAction(e -> FirstChar()); LastChar.setOnAction(e -> LastChar()); Scene scene = new Scene(borderPane, 600, 400); primaryStage.setTitle("Jayce 201044"); primaryStage.setScene(scene); primaryStage.show(); } private void Length() { tfD.setText(String.valueOf(tfC.getText().length())); } private void FirstChar() { tfD.setText(String.valueOf(tfC.getText().charAt(0))); } private void toUp() { tfD.setText(String.valueOf(Character.toUpperCase(tfC.getText().charAt(0)))); } private void toLow() { tfD.setText(String.valueOf(Character.toLowerCase(tfC.getText().charAt(0)))); } private void LastChar() { tfD.setText(String.valueOf(tfC.getText().charAt(tfC.getText().length() - 1))); } public static void main(String[] args) { launch(args); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值