公式サイト

目次

  1. JavaScriptの覚書 | 文字列操作

2つの印文字に挟まれた文字列を取得する

ソースコード

	var str = "大きな赤いノラ猫のごみ漁り"
	var str2 = stringHasami(str,'赤い','のごみ');
	console.log(str2); // 出力→ ノラ猫
	
	/**
	 * 2つの印文字に挟まれた文字列を取得する
	 * 
	 * @note
	 * 印文字1、印文字2は対象文字の左から検索する。
	 * 
	 * @param s 対象文字列
	 * @param mark1 印文字1
	 * @param mark2 印文字2
	 * @return 印文字に挟まれた文字列
	 */
	function stringHasami(s,mark1,mark2){
		if (s==null || s==""){
			return s;
		}
		
		var a=s.indexOf(mark1);
		s=s.substring(a+mark1.length,s.length);

		a=s.indexOf(mark2);
		s=s.substring(0,a);
	
		return s;

	}
	


文字列を左側から印文字を検索し、左側の文字を切り出す

ソースコード

	var str = "ミヤマクワガタとノコギリクワガタ";
	var str2 = stringLeft(str,'クワガタ');
	console.log(str2);//→ ミヤマ
	
	/**
	 * 文字列を左側から印文字を検索し、左側の文字を切り出す。
	 * @date 2016-12-8 | 2018-11-28
	 * @version 1.1
	 * 
	 * @param s 対象文字列
	 * @param mark 印文字
	 * @param not_find_flg 0:印文字が見つからないなら空を返す[デフォルト] , 1:見つからないならそのまま対象文字列を返す
	 * @return 印文字から左側の文字列
	 */
	_stringLeft(s, mark, not_find_flg){

		if (s==null || s=="") return s;
		
		var a=s.indexOf(mark);
		if(a== -1){
			if(not_find_flg == 1) return s;
		}
		
		var s2=s.substring(0,a);
		return s2;
		
	}
	


文字列を左側から印文字を検索し、右側の文字を切り出す

ソースコード

	var str = "大きな赤いたぬきと赤いきつね";
	var str2 = stringRight(str,'赤い');
	console.log(str2);//→たぬきと赤いきつね
	
	/**
	 * 文字列を左側から印文字を検索し、右側の文字を切り出す。
	 * @param s 対象文字列
	 * @param mark 印文字
	 * @return 印文字から右側の文字列
	 */
	function stringRight(s,mark){
		if (s==null || s==""){
			return s;
		}
		
		var a=s.indexOf(mark);
		var s2=s.substring(a+mark.length,s.length);
		return s2;
	}
	


文字列を右側から印文字を検索し、左側の文字を切り出す

ソースコード

	var str = "ミヤマクワガタとノコギリクワガタ";
	var str2 = stringLeftRev(str,'クワガタ');
	console.log(str2);//→ ミヤマクワガタとノコギリ
	
	/**
	 * 文字列を右側から印文字を検索し、左側の文字を切り出す。
	 * @param s 対象文字列
	 * @param mark 印文字
	 * @return 印文字から左側の文字列
	 */
	function stringLeftRev(s,mark){

		if (s==null || s==""){
			return s;
		}
		var a=s.lastIndexOf(mark);
		var s2=s.substring(0,a);
		return s2;
		
	}
	


文字列を右側から印文字を検索し、右側の文字を切り出す

ソースコード

	var str = "大きな赤いたぬきと赤いきつね";
	var str2 = stringRightRev(str,'赤い');
	console.log(str2);//→きつね
	
	/**
	 * 文字列を側から印文字を検索し、右側の文字を切り出す。
	 * @param s 対象文字列
	 * @param mark 印文字
	 * @return 印文字から右側の文字列
	 */
	function stringRightRev(s,mark){
		if (s==null || s==""){
			return s;
		}
		
		var a=s.lastIndexOf(mark);
		var s2=s.substring(a+mark.length,s.length);
		return s2;
	}
	


全角数字を半角数字に変換する


	/**
	 * 全角を半角に変換する
	 * @param string str 全角文字
	 * @return string 半角文字
	 */
	_toHalfWidth(str) {
		return str.replace(/[A-Za-z0-9!-~]/g, (s) => {
			return String.fromCharCode(s.charCodeAt(0)-0xFEE0);
		});
	}
	


文字列からタグを除去


	str = str.replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,'');
	

参考サイト